ASP.NET MVC4中使用NHibernate

ASP.NET MVC4中使用NHibernate

1:下载安装NHibernate

 

打开 VS 2012新建一个 MVC4项目. 在项目名称上右击选择Manage NuGet Packages。你会看见 Manage Nuget Packages 页面. 在搜索框输入‘NHibernate’ 可以得到以下结果:

 

 

选择第一个并安装,安装完成后会引入以下两个.DLL文件

 

  • NHibernate

  • Lesi.Collections

 

 

2:编写Model层,你需要决定模型中的对象它们之间的关系现在来定义一个应用程序,用于维护员工记录(很简单但你可以扩展的让我们添加新的类模型。如下所示

 

 View Code

 

包含属性employeeinfo这些属性将被用来与表的列映射这些属性必须被定义为虚拟

 

 

3:一旦映射模型类准备好了,现在就可以建数据库保存数据。对于这个简单的应用程序,我们将使用一个名为Company的SQL数据库。表的名称是employeeinfo,创建如下所示:

 

 View Code

 

 

4:设置映射employeeinfo.HBM.XML

 

在Models中建立NHibernate 文件夹,在NHibernate下建立Configuration 、Mappings两个文件夹

 

映射文件的命名规则默认是< modelName >.hbm.xml,在我们的案例中,它取名为employeeinfo.HBM.XML,保存在ModelsMappings,我们需要在项目中将XML文件属性改为嵌入的资源的“。这个文件映射模型类与数据库表列的约束的主键,数据类型等文件,如下所示:

 

 View Code

 

上述XML文件是employeeinfo类和属性之间的映射的列。

 

注:默认情况下没有智能代码提示,可以实现添加nhibernate-configuration.xsd和nhibernate-mapping.xsd文件到VS的以下路径:

 

C:Program Files (x86)Microsoft Visual Studio 11.0XmlSchemas,就会有代码提示。

 

 

定义了

 

 View Code

 

 

 

6:现在是时候添加一些代码来对数据库映射模型进行CRUD操作NHibernate提供用于执行操作的各个类和接口其中一些是用于实现他们如下

 

ISession单线程,生命期较短的对象,代表应用程序和持久化层之间的一次对话。封装了一个ADO.NET连接

 

ISessionFactory:它是Session的工厂,是ConnectionProvider的客户。可以持有一个可选的(第二级)数据缓存,可以在进程级别或集群级别保存的可以在事物中重用的数据。。该方法的opensession()”提供了创建Session的功能每个数据库要求一个会话工厂。执行是线程安全的,可以一直到应用程序的生存时间。

 

正如你可以看到下面的代码,我们必须配置对象提供的配置文件的绝对路径,也为其提供了目录信息的所有映射文件将被保存(在opensession法)

 

iquery:这表示是NHibernate查询一个对象。

 

 View Code

 

生成项目并确保它没有错误。

 

 

7:添加新控制器,命名为“employeeinfocontroller”。添加下面的控制器类中的动作方法:

 

 View Code

 

每个动作方法调用的employeeinfodal类定义的方法。现在只要为每个Action添加视图方法,就可以运行连接到得到以下结果:

 

 

 

 

 

 

 

原文地址:https://www.cnblogs.com/Leo_wl/p/3456284.html