目前,我在所有操作中使用 EF 并直接使用其数据上下文,但自从我开始阅读有关松散耦合和可测试性的内容后,我认为这不是最好的方法。在开始重构所有当前代码之前,我试图了解所有的优点和缺点。
问题一:考虑到每个实体都需要自己的存储库,因此必须设置自己与数据源的连接(假设使用 EF 的数据库),如果我需要单个页面上 5 个不同实体的数据,这会不会带来大量开销?
问题2:我在网上找到的所有示例中还看到,大多数人(甚至像 shanselman 这样的人)使用由 LINQ 或 EF 生成的实体类来实现存储库模式,这是否违背了存储库模式的目的关于松耦合?另一方面,替代方案是什么,将 POCO 类与 AutoMapper 等结合使用? (这让我有点害怕)
我希望一些人能够对此有所了解,因为我现在有点困惑存储库模式是否是网站的正确选择。
你可以阅读这本书 https://rads.stackoverflow.com/amzn/click/com/1430228865。有一个使用存储库模式和 LINQ 的好例子。
还有这篇文章将存储库和工作单元模式与 Entity Framework 4.0 结合使用 http://blogs.msdn.com/b/adonet/archive/2009/06/16/using-repository-and-unit-of-work-patterns-with-entity-framework-4-0.aspx?wa=wsignin1.0.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)