永发信息网

NHibernate已经足够了吗?

答案:2  悬赏:0  手机版
解决时间 2021-04-08 00:48
  • 提问者网友:原来太熟悉了会陌生
  • 2021-04-07 08:13
NHibernate已经足够了吗?
最佳答案
  • 五星知识达人网友:拜訪者
  • 2021-04-07 09:37
并且在博客园开了一个专栏写了一系列的文章来介绍如何使用它。到2005年后半年的时候,国内类似的代码生成工具已经开始“泛滥”了,O/RM一下子流行起来。在2005年底,我开始关注NHibernate,并逐渐转移到NHibernate上面来,对XCodeFactory的依赖也越来越小了。毕竟,NHibernate是如此得强大,以至于我不再需要XCodeFactory。
但是,对于经常要编写数据库访问代码的.NET开发人员而言,拥有NHibernate就已经足够了吗?我认为是不够的。NHibernate在基于对象方面做得非常好,这也是它初始的目标,它非常出色地实现了这个目标。但是在O/RM之外了?比如,我们需要进行批量的更新、删除等,使用NHibernate进行类似的操作不仅繁琐而且效率低下。当然,这些内容不是NHibernate的职责,NHibernate也不用关心这些O/RM之外的东西。但是,我们也许都知道了,NHibernate需要另外一个工具来作为有力的补充,这个补充主要基于关系、而不是对象来操作数据库中的数据。
有人选择了EnterpriseLibrary中的数据访问Block作为O/RM之外的补充,这很不错。而DataRabbit是另外一个选择。
相信来我blog的朋友都一定知道ESFramework,ESFramework源于EnterpriseServerBase类库的Network命名空间,而DataRabbit来源于EnterpriseServerBase类库的DataAccess命名空间,EnterpriseServerBase.DataAccess也是XCodeFactory核心库。DataRabbit中包含多个基于关系的数据访问接口,并且内置了对SqlServer、Oracle、Ole的支持,如果要支持其它类型的数据库,只需实现相应的接口即可,并且可以插件的形式提供。
(1)简化通常的数据访问,体现在IADOBase接口,IADOBase接口和以下所有接口均独立于数据库类型。
(2)数据分页 IPagerManager
(3)事务 Transaction
(4)分布式事务 Distributed
(5)操作数据大纲(DataSchema) IDataSchemaOperator ,比如获取某个表的大纲结构(Column信息、主键信息、外键信息),依据大纲在指定的数据库中创建表
(6)数据库适配器插件 IADOBaseAddin
(7)简单数据迁移 SimpleDataTransfer
这些接口将在后面的系列文章中逐一介绍。下面也看一个分页的例子,来点感性的认识。
全部回答
  • 1楼网友:有你哪都是故乡
  • 2021-04-07 10:16
搜一下:NHibernate已经足够了吗?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯