【问题标题】:Microsoft Enterprise Library微软企业库
【发布时间】:2012-02-15 13:38:43
【问题描述】:
我必须遇到哪些问题才能求助于 Microsoft Enterprise Library 的 DAAB?换句话说,如果没有它,我现在似乎发展得很好——我正在使用 ADO .net 实体框架来访问我的 SQL 数据库,但如果值得的话,显然可以采用新的/更有效的方式来处理数据访问。我似乎发现的唯一文章是针对更高级的开发人员的,所以任何人都可以给我一些关于 Enterprise Library 实际提供的内容的解释,我现在可能会错过吗??
【问题讨论】:
标签:
enterprise-library
data-access
【解决方案1】:
当您编写代码时,您不应该出于多种原因重新启动轮子。最重要的是,当您重用时,您使用的是经过开发社区审查并普遍接受的东西。 EL 是一个库,旨在简化您为执行异常处理、数据访问、日志记录等常见事情而需要编写的代码量。
对于Data Access Application的诸多好处:
- 它迫使您将自己从底层数据库和类型中抽象出来,从而使您可以从一个转移到另一个。这也迫使您标准化您在产品中访问数据的方式。
- DA 还允许您简单地定义数据库并以通用方式访问它,让 DA 处理连接和查询数据库的管道。
- 最后,它还有助于初级开发人员,因为他们不必为不同的数据库编写代码,他们使用一个界面,并且可以在各种平台上工作。
缺点,通常任何位于 ADO.NET 之上的框架都会变慢,如果您不打算执行上述任何操作,则可能不需要使用它。
关键字是“企业”。
【解决方案2】:
在以前的线程中,例如this one,共识似乎是对于大多数中小型项目,企业库通常过度设计。由于我在这里读过的线程,我什至没有看过它。
【解决方案3】:
您必须意识到 - Entlib 的数据访问块是在实体框架之前设计和发布的年。当时,目标是自动处理连接字符串和正确清理 ADO.NET 对象,而 DAAB 在这方面做得很好。
但这几乎就是它所做的一切。 Entity Framework 为您提供建模工具和 ORM 层。如果您对此很有效率,并且它的速度足以满足您的需求,我不会放弃 EF 转而支持 Entlib。
如果您发现自己需要进行原始 ADO.NET 编程,Entlib 是一个有价值的工具。但如果没有充分的理由,我不会降到那个水平。