扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:ghost 来源:CSDN 2007年9月24日
关键字: ghost NHibernate 指南
在本页阅读全文(共2页)
第四步:为你的数据库产生一个配置文件
我们至今还没有告诉NHibernate 去哪里连接数据库。最直接的办法是在你的应用程序的配置文件里设置一个NHibernate配置节。这和在Hibernate里使用属性文件是等价的。如下配置:
上面的例子里用了SqlClient 驱动,在本地连接名称为NHibernate 的数据库,提供用户名和密码。那里有一堆属性你需要调整来确定如何让NHibernate来访问数据库。再次说明,你可以在文档里获取更多信息。
请注意以上的配置里并没有涉及到log4net的配置信息。NHibernate使用log4net来记录内部发生的一切。在一个应用程序产品里,在你特定环境里,我推荐配置log4net,并为NHibernate设置一定的日志级别。
第五步:开始展现 NHibernate 的魔力
所有艰苦的工作已经完成。你将有以下内容
User.cs ----你需要持久化的C#类
User.hbm.xml ----你的NHibernate映射文件
App.config ---对ADO.NET连接的配置信息(如果你愿意,你可以在代码中实现)。
你的数据库里有一张User表。
现在可以在你的代码中恰当简洁的使用NHibernate。简化的版本如下
为了让你更清晰,我们来看一些代码。
首先,创建一个 Configuration 对象
Configuration对象能够解析所有.Net对象和后台数据库中的映射关系。
Configuration cfg = new Configuration();
cfg.AddAssembly("NHibernate.Examples");
Configuration对象会搜索装配件里的任何以hbm.xml 结尾的文件。还有其他方法加载映射文件,但这种方式是最简单的。
下一步,创建一个 Session 对象
ISession对象提供一个到后台数据库的连接,ITransaction对象提供一个可以被NHibernate管理的事务。
ISessionFactory factory = cfg.BuildSessionFactory();
ISession session = factory.OpenSession();
ITransaction transaction = session.BeginTransaction();
接着来Load, Save和Query你的对象
现在你可以用使用传统的.Net方法来操纵对象。你想保存一个新对象到数据库吗?尝试下面的方法:
User newUser = new User();
newUser.Id = "joe_cool";
newUser.UserName = "Joseph Cool";
newUser.Password = "abc123";
newUser.EmailAddress = "joe@cool.com";
newUser.LastLogon = DateTime.Now;
// Tell NHibernate that this object should be saved
session.Save(newUser);
// commit all of the changes to the DB and close the ISession
transaction.Commit();
session.Close();
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者