【发布时间】:2020-10-05 07:26:44
【问题描述】:
假设我有这些实体:
- 客户
- 订购
- 产品
这三个都是聚合根,因为这三个都需要彼此独立地加载和修改。由于聚合根不能包含其他聚合根,对于 Order 聚合根,我们需要更多的实体:OrderCustomer 和 OrderProduct。这些是 Order 聚合的只读和子级。 这样,由于 Order 聚合需要客户和产品,它会加载 OrderCustomer 和 OrderProduct 实体,它们是只读的。订单从不加载客户或产品。
这一切都说得通,但是,我的问题是,这是如何在 EF Core 中实现的,您无法将多个模型映射到同一个表?您是否将 OrderCustomer 和 OrderProduct 定义为非映射模型并手动将它们加载到您的 Order 存储库中?我没有看到任何其他方法可以做到这一点。
(请不要建议使用存储过程或直接 SQL 或类似的东西)
【问题讨论】:
标签: domain-driven-design aggregateroot ef-core-3.0