我有 5 个不同的 edmx 文件,每个文件包含许多表(大约 40 个)。
现在我要为位于那些不同 edmxs 上的一些表添加相同类型的引用属性。例如,假设在 edmx1 我有 Worker 实体,在 edmx2 我有客户实体,在 edmx3 我有供应商实体等等。现在我想添加对 Worker、Customer 和 Supplier 的 Location 实体的引用。我可以将 Location 表添加到每个 edmx 并进行代码复制。但就我而言,我有许多共同的实体,而不仅仅是位置。实际上,我更喜欢将所有公共实体分离到不同的 edmx,并对具有引用公共实体的实体的其他 edmx 执行类似“继承”之类的操作。这样的事情可能吗?如果是这样 - 如何?如果不是 - 这种情况的常见解决方案是什么?
问问题
409 次
1 回答
0
不会。如果您使用的是 EDMX 文件,那么每个文件都是独立的。
使用EDMX 时,EF中的类型重用支持非常有限。首先,设计师不支持它。它也仅在 CSDL 中受支持。因此,这意味着您可以拥有多个 CSDL 部分(实体定义),其中一个 CSDL 文档可以与另一个 CSDL 文档中的实体建立关系(但这种关系只能是单向的),但您只能拥有一个 SSDL(数据库定义)和 MSL(映射定义)文档。
目前,您的每个 EDMX 文件都代表单独的 CSDL、MSL 和 SSDL 文档,因此无法轻松转换为该场景。
这是代码映射的好场景(没有 EDMX)。
于 2012-04-13T12:29:20.187 回答