如果要使用Microsoft Enterprise Library的DAAB,我会遇到什么问题?换句话说,我现在似乎在没有它的情况下发展得很好——我正在使用ADO.net实体框架来访问我的SQL数据库,但如果值得的话,显然对处理数据访问的新的/更有效的方法持开放态度。我发现的唯一一篇文章似乎是针对更高级的开发人员的,所以有人能给我一点解释一下Enterprise Library实际上提供了什么,而我现在可能错过了什么吗??
在进行编码时,由于多种原因,永远不应该重新事件化轮子。最重要的是,当你重复使用时,你使用的是已经被开发社区审查并普遍接受的东西。EL是一个库,旨在简化您需要编写的代码量,以完成常见的事情,如异常处理、数据访问、日志记录等。
在Data Access Application
的情况下有许多好处:
- 它迫使你从底层数据库和类型中抽象出你的自我,从而允许你从一个数据库转移到另一个数据库。这也迫使您将访问产品中数据的方式标准化
- DA还允许您简单地定义数据库并以通用方式访问它,让DA处理连接和查询数据库的管道工作
- 最后,它也有助于初级开发人员,因为他们不必对不同的数据库进行编码,他们使用一个界面,它可以在各种平台上工作
缺点是,通常情况下,任何位于ADO.NET之上的框架都会较慢,如果您不打算执行上述任何操作,则可能不需要使用它。
关键字是"企业"
在以前的线程中,比如本线程中,人们一致认为,对于大多数中小型项目来说,企业库通常被过度设计。由于我在这里读到的线索,我甚至没有看过它。
您必须意识到,Entlib的数据访问块是在Entity Framework之前年设计和发布的。当时的目标是自动化连接字符串处理和ADO.NET对象的正确清理,DAAB在这方面做得很好。
但这几乎就是它所做的全部。实体框架为您提供建模工具和ORM层。如果你在这方面很有成效,而且它足够快满足你的需求,我不会放弃EF而支持Entlib。
如果您发现自己需要进行原始ADO.NET编程,Entlib是一个很有价值的工具。但如果没有充分的理由,我不会降到那个水平。