我正在开发一个复杂的业务应用程序,其中将有一个数据访问层。到目前为止,我们有两个选择-要么创建自己的自定义数据访问层,要么使用Microsoft内置库。我正在寻找一些基本的理由去选择。
如有任何答复,将不胜感激。
最佳答案
另一个需要考虑的选项是Entity Framework 4因为它提供了一个完整的orm。加上最新的CTP 5 of code first with Entity Framework看起来非常有前途。
尽管如此,企业库5确实使数据访问变得非常简单,只要您有一个约定,即您的sql表列将对象属性与ExecuteSprocAccessor和ExecuteSqlStringAccesor匹配。如果您使用这两种扩展方法,就可以避免处理IDataRecord
,IDataReader
和常见的命令对象,您的数据访问结果如下:
var books = DataBase.ExecuteSqlStringAccessor("SELECT [Id], [Name], [ISBN] FROM Books", rowMapper).ToList();
一些专业人士
企业图书馆确实提供了
健壮的框架,包括
Unity(IOC),日志记录,验证,
异常处理和策略注入
举几个例子。
大量文档和快速
为各种应用程序启动
阻碍。
可扩展且可配置
几乎什么都有。
在ent-lib5中,afluent configurationbuilder被引入
减轻山上的压力
配置部分。
一些缺点
非常大的框架,你可能会发现
你需要参考2+
一件事的集合
功能正常。
潜在的配置噩梦,
然而流利的使用
配置生成器并更新
应用程序块配置编辑器
减轻一些疼痛。
最后,我使用企业库,因为它可以帮助我更快地构建应用程序,而且我不必重新发明轮子。最好的办法是尝试每一个选项,ado.net、ef4、ent lib5或其他许多选项,看看哪一个适合您的需要。
关于c# - 企业图书馆的优缺点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5153570/