实体框架 – 单个或多个存储库类?

前端之家收集整理的这篇文章主要介绍了实体框架 – 单个或多个存储库类?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的数据库比较小,8个表,每个都有少于5列.我使用EF.我创建了单个存储库类,但现在我认为它可能不是正确的使用方法.我每个控制器应该有独立的存储库类吗?让我说我有产品,用户,独角兽将一个存储库类与所有这些控制器中的所有这些和实例化一起运行,或者我应该为每个控制器创建一个单独的存储库类

解决方法

@H_502_5@ DDD的关键概念之一是总体根 – 这是您管理整组相关实体的“顶级”实体.

例如,在零售场景中,“订单”将是您可以访问订单本身的一个聚合根,一个OrderItems列表(即产品金额修饰符,如折扣),BillingAddress,ShippingAddress和PaymentMethod.这些都与订单本身密切相关,直到他们没有理由存在于订单范围之外.

每个聚合根应具有一个存储库,该存储库负责将根目录下的对象的整个子图保留下来.所以在上面的例子中,你不会想要或需要一个OrderItems的存储库,它可以独立地访问订单项目;相反,您应该实现一个OrdersRepository,它将Order和其所有子组件作为一个单元来处理.

根据您的特定域模型,您可能需要一个或多个存储库,但每个实体类型肯定不是一个.寻找总体根源时要问的关键问题是“这个实体有自己的身份和生命周期吗?订单做,OrderItems不.

原文链接:https://www.f2er.com/aspnet/249518.html

猜你在找的asp.Net相关文章