使用多个edmx文件与一个大型edmx文件?

Or *_*r A 13 entity-framework ado.net-entity-data-model

我是实体模型的新手,我正在寻找一个如何组织我的实体模型的建议.

我应该创建一个实体模型文件(.edmx),它将包含我的数据库中的所有表,或者我应该打破用户,订单,产品等的逻辑文件.

请让我知道哪个更好,以及每个替代方案的优缺点(如果有的话).

谢谢.

Min*_*ive 16

我要反对这里的粮食.我现在用EF构建了2个大型应用程序,一个带有单个edmx,另一个带有几个.有利有弊,但一般来说,我发现使用一个edmx会让生活变得更容易.原因是应用程序中的域几乎从未真正分离,即使从一开始就存在.弹出新的要求,要求您将不同edmx中的实体关联起来,然后您必须重构并不断地移动.

EF 5引入Multiple Diagram时,所有划分的参数很快就会过时,这是首先划分edmx文件的唯一真正好处.您不希望看到您没有工作的所有内容,也不希望产生性能影响.

在我的应用程序中使用分割的edmx,我们现在有一些重复的实体来获得导航属性的好处.也许您的应用程序具有真正的域分离,但通常一切都连接到用户.我正在考虑合并现在的两个,但这将是很多工作.所以我会说让它们保持在一起直到它成为一个问题.


Mor*_*avi 8

拥有一个包含所有实体的大型EDM通常不是一个好习惯,不建议使用.您应该提出不同的域模型集,每个域模型包含相关对象,而每个集都是不相关的并且与另一个集断开.

看一下这篇文章,我详细解释了这个问题:
为所有实体创建单个图表是否有意义?