本练习演示了NHibernate的基础知识,并展示了如何将NHibernate集成到.Net和MVC环境中,并提供了一个示例性的CRUD应用程序。
NHibernate简介
NHibernate是.NET框架的开源对象关系映射技术。它提供了将域模型(类)映射到传统关系数据库并生成查询所需的框架。关于NHibernate http://nhibernate.info/,在本文中,将更多地关注NHibernate,以及如何在MVC中使用。在进行本教程之前,你必须有.Net和MVC的初步知识。
代码讲解
数据库
在SQL Server本地数据库中创建一个名为BookStoreDB的新数据库。创建一个名为Book的表,如下所示
CREATE TABLE [dbo].[Book]([ID] BIGINT IDENTITY(1,1) NOT NULL,[Title] VARCHAR(50) NULL,[Author] VARCHAR(50) NULL,[Genre] VARCHAR(50) NULL,PRIMARY KEY CLUSTERED([Id] ASC) );
创建项目
我们开始在Visual studio中创建一个项目。使用MVC模板添加一个名为Swinkaran.Nhbnt.Web的ASP.Net Web应用程序项目。在这里,将添加新的库和文件。以下屏幕截图显示将被添加到项目中的文件,在本教程的后面我们将讨论这些文件中的每一个。
安装NHibernate
通过VS IDE 提供的NuGet(包管理器控制台)进行NHibernate的安装。如下图:
创建NHibernate配置文件
现在,我们已创建了数据库和表,安装了必要的NHibernate库,可以开始代码工作了。让.Net应用程序连接到数据库,以便应用程序可以连接到数据库。我正在使用NHibernate配置文件来实现这一点。此配置文件包含将应用程序连接到数据库所需的信息。
在Models文件夹下创建一个名为hibernate.cfg.xml的XML或配置文件
创建模型类
在“ Models”文件夹下创建一个名为Book的类,代码如下图:
创建映射文件
创建一个名为Mappings的文件夹并创建一个新的xml文件,将其命名为Book.hbm.xml。重要的是让hbm是文件名的一部分,表示该文件是一个映射文件。将“嵌入式资源”定义 为此xml文件的“ 构建操作”。此文件的目的是在模型类和数据库中的相应表之间创建映射。
管理NHibernate会话
创建一个名为NhibernateSession.cs的类
添加控制器
添加一个名为BookController的新控制器。 该BookController的是非常简单和基本的。这具有定义为在Book实体上执行创建,读取,更新和删除功能的方法。这个方法中的每个都使用NHibernate会话来初始化和打开会话并执行必要的事务。
BookController类演示了如何使用已创建的NHibernae会话执行CRUD。
然后,可以按F5进行运行和调试了!~~