enterpriselibrary(Microsoft.Practices.EnterpriseLibrary.Data.dll)
老铁们,大家好,相信还有很多朋友对于enterpriselibrary和Microsoft.Practices.EnterpriseLibrary.Data.dll的相关问题不太懂,没关系,今天就由我来为大家分享分享enterpriselibrary以及Microsoft.Practices.EnterpriseLibrary.Data.dll的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
Microsoft.Practices.EnterpriseLibrary.Data.dll
主要来说就是数据库链接字符串配置利用了.net 2.0中 config文件中,新增的 connectionStrings配置节,不再像以前那样使用自己的链接字符串配置节。
范例:
下述就是基于.net 2.0的企业库中,数据库应用Block的一个配置信息
<configuration>
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null"/>
</configSections>
<dataConfiguration defaultDatabase="Connection String"/>
<connectionStrings>
<add name="Connection String" connectionString="Database=Database;Server=(local)\SQLEXPRESS;Integrated Security=SSPI;"
providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
说明:
上面我们可以看到
connectionStrings配置节是.net 2.0本身就具有的,我们在这里定义了实际的数据库链接字符串。
我们在configSections中可以看到,我们新设了一个dataConfiguration配置节,这个节,我们来指定我们默认的数据库。
这样我们就可以在代码中如下创建默认的数据库:
Database db= DatabaseFactory.CreateDatabase();
当然也可以用
Database db= DatabaseFactory.CreateDatabase("Connection String");
后一个传入的参数,为你在配置文件中,定义的数据库链接字符串名字。
另外,在 dataConfiguration配置节中,可以定义 providerMappings,这部分跟 GenericDatabase关系很大,后面Blog详述。
GenericDatabase用在没有特别指定用那种数据库的时候,GenericDatabase可以简单的理解为通用数据库对象。
NHibernate已经足够了吗
并且在博客园开了一个专栏写了一系列的文章来介绍如何使用它。到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
这些接口将在后面的系列文章中逐一介绍。下面也看一个分页的例子,来点感性的认识。
文章分享结束,enterpriselibrary和Microsoft.Practices.EnterpriseLibrary.Data.dll的答案你都知道了吗?欢迎再次光临本站哦!