NHibernate在MVC中的配置使用

211 阅读2分钟
原文链接: mp.weixin.qq.com

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配置文件

现在,我们已创建了数据库和表,安装了必要的NHibernate库,可以开始代码工作了。让.Net应用程序连接到数据库,以便应用程序可以连接到数据库。我正在使用NHibernate配置文件来实现这一点。此配置文件包含将应用程序连接到数据库所需的信息。

在Models文件夹下创建一个名为hibernate.cfg.xml的XML或配置文件

创建NHibernate配置文件

创建模型类

在“ Models”文件夹下创建一个名为Book的类,代码如下图:

创建模型类

创建映射文件

创建一个名为Mappings的文件夹并创建一个新的xml文件,将其命名为Book.hbm.xml。重要的是让hbm是文件名的一部分,表示该文件是一个映射文件。将“嵌入式资源”定义 为此xml文件的“ 构建操作”。此文件的目的是在模型类和数据库中的相应表之间创建映射。

创建映射文件

管理NHibernate会话

创建一个名为NhibernateSession.cs的类

管理NHibernate会话

添加控制器

添加一个名为BookController的新控制器。 该BookController的是非常简单和基本的。这具有定义为在Book实体上执行创建,读取,更新和删除功能的方法。这个方法中的每个都使用NHibernate会话来初始化和打开会话并执行必要的事务。

BookController类演示了如何使用已创建的NHibernae会话执行CRUD。