我希望将实体框架代码优先用于新项目。所以我决定做一些研究并构建一些演示,以便我可以看到它是如何做的。通过,我有一个主要问题,或者可能是我不清楚的更多问题,涉及实体框架代码优先映射到实体和域驱动设计的方式。
在构建应用程序时,我们定义了域实体。(我们根据我听到的业务情况定义聚合根并为它们创建存储库)
没关系,但实体框架代码优先映射似乎像实体之间的关系方式一样工作。那么两者如何能够共存呢?
举个例子(在领域驱动设计方面思考):
Journal 包含 JournalEnty 包含 任务、问题、注释
斜体字是实体。在分析之后,我会以某种方式说期刊是聚合期刊和日记条目的聚合根,因为这是一个直接组合。每个任务都包含一个小时值,以了解完成任务所需的时间,因此有很多方法可以计算总小时数以及由此产生的薪水。日记帐具有小时费率属性。
其他实体每个都是聚合根,它们可能具有对日志条目的引用,因此我们知道任务、注释和问题所属的位置。
但是问题来了.. Entity Framework Code-First 映射如何反映这一点?从直观的角度来看,我们会说日记包含日记条目,日记条目包含笔记、问题和任务。但从 DDD 看来,情况可能并非如此。如果我错了,请纠正我,但代码优先就像关系数据库一样工作。
那么我们如何在代码优先中映射上面的示例呢?
十分感谢。