本文章使用Visual Studio作为开发工具,并建立在已经安装MySQL数据库的前提。
NHibernate是一个面向.NET环境的对象/关系数据库映射工具。官网:http://nhibernate.info。官网Documentation下,帮助文档The NHibernate Reference (HTML, single page HTML, PDF, CHM),和案例教程Tutorial: Your first NHibernate based application,这两篇文档是我撰写此文章的主要依据。
NHibernate与MySQL交互原理:写代码调用NHibernate的API,NHibernate则调用MySQL的API从而操作MySQL数据库。
C#连接MySQL数据库的原理是:写代码调用MySQL的API从而操作MySQL数据库。
完整解决方案资源管理器参考:
1.添加动态链接库
(1)添加Nhibernate的动态链接库
方法一:在 项目(右键)-管理NuGet程序包(N) 然后在浏览里面搜索Nhibernate并进行安装。若安装失败可以选择低一点的版本4.1.1.4000。
方法二:在NHibernate官网:http://nhibernate.info 里点击Download Now NH5.0.3下载,并将 \Required_Bins\Nhibernate.dll 添加到引用
(2)添加MySQL的动态链接库
方法一:在 项目(右键)-管理NuGet程序包(N) 然后在浏览里面搜索MySql.Data并进行安装。
方法二:安装数据库MySQL时要选中Connector.NET 6.9的安装,将C:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies里v4.0或v4.5中的MySql.Data.dll添加到项目的引用。v4.0和v4.5,对应Visual Studio具体项目 属性-应用程序-目标框架 里的.NET Framework的版本号。
2.NHibernate配置
(1)配置程序集名称和默认命名空间:。项目(右键)-属性 程序集名称与默认命名空间都改成英文(首字母大写),方便以后调用,以下案例程序集名称和默认命名空间均为UseNhibernate。
(2)添加hibernate.cfg.xml并进行配置 。直接在 项目(右键)-添加-新建项-XML文件 命名必须为hibernate.cfg.xml,配置文件为(参考案例教程Tutorial: Your first NHibernate based application或者百度NHibernate配置MySQL数据库)
NHibernate.Connection.DriverConnectionProvider
NHibernate.Dialect.MySQL5DialectNHibernate.Driver.MySqlDataDriverServer=localhost;Database=minecraftdb;User ID=root;Password=root;
true
dialect配置参考: 帮助文档The NHibernate Reference的3.5.1
NHibernate与各种数据库交互的配置的文件: https://www.cnblogs.com/wdw31210/p/3916252.html
3.进行类和表的映射
(1)项目(右键)-添加-新建文件夹Model存放类,每一张表的映射对应一个类,一行数据对应一个实例对象
以User.cs为例
namespaceUseNhibernate.Model
{public classUser
{public virtual int UserId { get; set;