Asp.Net大型项目实践(4)-用NHibernate保存和查询我们的业务领域对象
2009-12-24 21:29
627 查看
阅读: 815 评论: 5 作者: 传说中的弦哥 发表于 2009-12-24 21:29 原文链接
关于NHibernate的相关资料不是很多,关于它在.Net项目中的实际应用的资料就更少了,在开始用NHibernate的时候也走了不少弯路,到现在自我感觉能在项目中合理应用NHibernate了。这里要感谢下同事1-2-3,关于NHibernate应用的不少技术细节问题基本都靠他努力解决的。也感谢李永京的NHibernate之旅系列文章导航,在入门初期省去了我阅读英文文档的麻烦,感谢了两位之后貌似NHibernate这块就没我啥事了...汗
注:额外说一下 目前.Net下可用使用ORM工具不少,但我个人觉得NHibernate是目前.Net下最强大最好用的ORM工具,这里我不想挑起.Net ORM框架之争,如果要争也希望大家在项目中实际应用之后再说,别老说什么NHibernate XML配置麻烦,效率低之类的 没有前提的无聊的话。至少在我的项目里正因为有了NHibernate才能使我可以比较OO的去建我的业务领域对象,貌似更加接近传说中的真正的所谓对象关系映射....
同样按照国际惯例,我们应该建立一个统一的一般的数据库访问接口
代码
如果你是想用Linq去实现数据库的访问 那你就建立个“public class RepositoryLinqImpl<T> : IRepository<T> where T : Entity ”类,不过要是这样的话你就没啥必要继续看下去了,因为下面的基本和Linq没啥事.....
插一句,下面的内容涉及到较多NHibernate技术细节,建议先去把李永京大哥的NHibernate之旅系列文章导航大概过一遍再来接着看,否则不大容易看懂,不过我尽量写的详细一点,至少做到让大家理解,写完也会贴上源码供大家参考 源码在下一篇下载
发表评论
新闻频道:德国工程师称破解GSM加密算法 影响80%手机安全
推荐链接:Windows 7专题发布
网站导航:博客园首页 个人主页 新闻 社区 博问 闪存 知识库
关于NHibernate的相关资料不是很多,关于它在.Net项目中的实际应用的资料就更少了,在开始用NHibernate的时候也走了不少弯路,到现在自我感觉能在项目中合理应用NHibernate了。这里要感谢下同事1-2-3,关于NHibernate应用的不少技术细节问题基本都靠他努力解决的。也感谢李永京的NHibernate之旅系列文章导航,在入门初期省去了我阅读英文文档的麻烦,感谢了两位之后貌似NHibernate这块就没我啥事了...汗
注:额外说一下 目前.Net下可用使用ORM工具不少,但我个人觉得NHibernate是目前.Net下最强大最好用的ORM工具,这里我不想挑起.Net ORM框架之争,如果要争也希望大家在项目中实际应用之后再说,别老说什么NHibernate XML配置麻烦,效率低之类的 没有前提的无聊的话。至少在我的项目里正因为有了NHibernate才能使我可以比较OO的去建我的业务领域对象,貌似更加接近传说中的真正的所谓对象关系映射....
同样按照国际惯例,我们应该建立一个统一的一般的数据库访问接口
代码
namespace Demo.HIS.FrameWork.Repository.Nhb { public class RepositoryNhbImpl<T> : IRepository<T> where T : Entity { #region IRepository<T> 成员 public T Load(string id) { throw new NotImplementedException(); } public T Get(string id) { throw new NotImplementedException(); } public IList<T> GetAll() { throw new NotImplementedException(); } public void SaveOrUpdate(T entity) { throw new NotImplementedException(); } public void Update(T entity) { throw new NotImplementedException(); } public void Delete(string id) { throw new NotImplementedException(); } public void PhysicsDelete(string id) { throw new NotImplementedException(); } #endregion } }
如果你是想用Linq去实现数据库的访问 那你就建立个“public class RepositoryLinqImpl<T> : IRepository<T> where T : Entity ”类,不过要是这样的话你就没啥必要继续看下去了,因为下面的基本和Linq没啥事.....
插一句,下面的内容涉及到较多NHibernate技术细节,建议先去把李永京大哥的NHibernate之旅系列文章导航大概过一遍再来接着看,否则不大容易看懂,不过我尽量写的详细一点,至少做到让大家理解,写完也会贴上源码供大家参考 源码在下一篇下载
发表评论
新闻频道:德国工程师称破解GSM加密算法 影响80%手机安全
推荐链接:Windows 7专题发布
网站导航:博客园首页 个人主页 新闻 社区 博问 闪存 知识库
相关文章推荐
- Asp.Net大型项目实践(4)-用NHibernate保存和查询我们的业务领域对象之实现基本的数据库访问(附源码)
- Asp.Net大型项目实践(4)-用NHibernate保存和查询我们的业务领域对象之分页与排序(附源码)
- Asp.Net大型项目实践(4)-用NHibernate保存和查询我们的业务领域对象之多表关联查询(附源码)
- Asp.Net大型项目实践(4)-用NHibernate保存和查询我们的业务领域对象
- Asp.Net大型项目实践(4)-用NHibernate保存和查询我们的业务领域对象之多条件组合查询(附源码)
- Asp.Net大型项目实践(4)-用NHibernate保存和查询我们的业务领域对象之多表关联查询(附源码)
- Asp.Net大型项目实践(4)-用NHibernate保存和查询我们的业务领域对象之多条件组合查询(附源码)
- Asp.Net大型项目实践(4)-用NHibernate保存和查询我们的业务领域对象之NHibernate的Session管理与初始化(附源码)
- Asp.Net大型项目实践(4)-用NHibernate保存和查询我们的业务领域对象之NHibernate的Session管理与初始化(附源码)
- Asp.Net大型项目实践(4)-用NHibernate保存和查询我们的业务领域对象之实现基本的数据库访问(附源码)
- Asp.Net大型项目实践(4)-用NHibernate保存和查询我们的业务领域对象之分页与排序(附源码)
- Asp.Net大型项目实践(3)-业务领域对象建模
- Asp.Net大型项目实践(5)-独家资料!整合NHibernate与Json序列化(附源码)
- Asp.Net大型项目实践(5)-独家资料!整合NHibernate与Json序列化(附源码)
- NHibernate3.2+Asp.net MVC3+Extjs 4.0.2项目实践(三):Services中间业务层
- Asp.Net MVC大型项目实践整合 NHibernate与Json序列化
- Asp.Net大型项目实践(11)-基于MVC Action粒度的权限管理【续】【源码在这里】(在线demo,全部源码)
- Asp.Net大型项目实践(12)-商业项目上线报告
- Asp.Net 大型项目实践系列导航[转]
- Asp.Net大型项目实践-关键技术方案选择理由及思路