添加与基础实体的关系(继承)

时间:2011-08-17 13:11:49

标签: c# .net entity-framework database-design

我有3种传输类型。其中两个人掌握着工人和车辆的细节。我需要在实体框架中表示这些实体。所以我创建了一个名为Transmission的基本实体来保存常见的tramsission属性。然后我为三种传输类型创建了3个其他特定实体:Transmission1,Transmission2和Transmission3。 Tramsission的主键由每种传输类型的主键引用。

我将所有4个实体加载到edmx并创建继承:Transmission是Transmission1,Transmission2和Transmission3的父级。

现在我要封装Transmission1和Transmission2中存在的工人和车辆数据。所以我创建了具有传输ID和工人/车辆属性的WorkerVehicle实体。

现在,当我将WorkerVehicle加载到edmx时,我得到了WorkerVehicle和Transmission实体之间的关系,其中我真正想要的是WorkerVehicle和Transmission1 / Transmission2之间的关系。

我该如何解决这个问题? Shold我将WorkerVehicle与Transmission之间的关系留下并允许Transmission3存储WorkerVehicle数据?

更新
这是描述情况的图像: enter image description here

1 个答案:

答案 0 :(得分:0)

除非您重构模型并创建一些派生自Transmission的中间基类,否则它将成为Container类的父类。之后,您可以尝试与该班级建立关系。在EDMX中将关系移动到派生类通常是笨拙的,您可以手动修改EDMX结束。