edmx文件之间的继承

时间:2012-04-13 12:15:20

标签: .net entity-framework edmx

我有5个不同的edmx文件,每个文件包含许多表(约40个) 现在我想为那些放在那些不同的edmx上的表添加相同类型的引用属性。例如,假设在edmx1中我有Worker实体,在edmx2中我有Customer实体,在edmx3中我有Supplier实体,依此类推。现在我想向Worker,Customer和Supplier添加对Location实体的引用。我可以将Location表添加到每个edmx并进行代码重复。但就我而言,我有许多共同的实体,而不仅仅是位置。实际上,我更喜欢将所有常见实体分配到不同的edmx,并对彼此的edmx执行类似“继承”的操作,该edmx具有对公共实体的引用的实体。这样的事可能吗?如果是这样 - 怎么样?如果不是 - 这种情况的常见解决方案是什么?

1 个答案:

答案 0 :(得分:0)

没有。如果您使用EDMX文件,则每个文件都是自包含的。

使用EDMX时,重复使用类型在EF中very limited support。首先,设计师不支持它。它也仅在CSDL中受支持。所以这意味着你可以拥有多个CSDL部分(实体定义),其中一个CSDL文档可以与另一个CSDL文档中的实体建立关系(但这种关系只能是单向的),但是你只能有一个SSDL(数据库定义)和MSL(映射定义)文档。

目前,您的每个EDMX文件都代表单独的CSDL,MSL和SSDL文档,因此无法轻松转换为该场景。

这是代码映射的好方案(没有EDMX)。