【发布时间】:2011-03-10 13:23:35
【问题描述】:
场景:
我正在研究一个包含许多程序集的解决方案。主程序集引用具有大型 EF 模型的 DAL 程序集。我正在研究一个包含自己的较小 EF 模型的 DLL。两个模型都将连接到同一个数据库。我正在处理的 DLL 会将数据返回到主程序集,但它不一定要从其模型中返回实体。
问题:
每个子组件包含自己的小模型更好还是应该共享同一个大模型?
讨论:
- 一方面,如果我共享主装配体的模型,子装配体可以将实体返回到主装配体。
- 另一方面,共享一个大型模型会将每个装配耦合到该模型。这似乎会增加对该模型的更改可能会破坏子组件的机会。我可能无法安全地对主模型进行有用的更改,因为害怕破坏其中一个子组件。
编辑:
Ray Vernagus 有一些优点(我认为)关于在模型周围设置明确定义的边界。我真的喜欢这个主意。我已经通过在我的子组件中拥有一个单独的模型来做到这一点,因为我的子组件具有明确定义的范围。这够了吗?
考虑所有域模型都在同一个 DAL 程序集中并且许多实体基于相同的表并具有相同名称的情况。除了需要在单独的命名空间中,这是一个坏主意吗?
【问题讨论】:
标签: .net entity-framework orm