背景
在我工作的公司,我被要求更新旧的 MVC 应用程序并为 SQL 数据库实现存储库模式。我已经使用 Entity Framework Database-First 创建了数据库的上下文并获得了 23 个实体。
第一个问题
我是否需要为每个实体创建一个存储库或为上下文实现一个通用存储库?我问这个是因为我在搜索互联网时发现了以下内容:
每个域一个存储库
您应该将存储库视为内存中域对象的集合。如果您正在构建一个名为 Vega 的应用程序,您不应该拥有如下所示的存储库:
public class VegaRepository {}
相反,您应该为每个域类拥有一个单独的存储库,例如 OrderRepository、ShippingRepository 和 ProductRepository。
来源:使用 Mosh 编程:存储库模式的 4 个常见错误
第二个问题
通用存储库是否适用于实体框架数据库优先?这是因为我在搜索互联网时发现了以下内容:
实体框架
请注意,存储库模式仅在您有首先使用代码映射的 POCO 时才有用。否则,您只会用实体打破抽象(= 那时存储库模式不是很有用)。如果你想为你建立一个基础,你可以关注这篇文章。
德玛西亚99
相关分类