实体框架6添加额外的继承列

时间:2017-05-23 17:41:36

标签: c# entity-framework entity-framework-6 ef-migrations

我有一个继承自PERTActivity_T类的类MetadataTyper,以及其他表。

与其兄弟姐妹PERTActivity_T相对已经具有以下属性:

[ForeignKey("BSContext")]
public int? BSContextId { get; set; }
public BSContext BSContext { get; set; }

但是现在我需要所有继承自MetadataTyper的表来拥有这些属性。我将其从PERTActivity_T中移除并将其包含在MetadataTyper中,但是当我生成迁移时,它会删除BSContextIdBSContext之间的关系,并添加一个名为{{1}的额外字段(使用下划线)并将外键添加到其中。

只有从BSContext_Id继承PERTActivity_T的其他表格才会发生这种情况。

首先,我尝试手动编辑迁移以删除对MetadataTyper的所有更改,因为它已经按照我需要的方式创建,所有这些都已经联合工作正常但是当我使用映射器编辑时{{1}或者与之相关的任何表格抛出错误,指出PERTActivity_T未知。

如何让EF了解PERTActivity_T不需要进行任何其他更改?

1 个答案:

答案 0 :(得分:0)

原来我的问题是BSContext已经包含PERTActivity_T的导航属性,然后我复制了它。

我所要做的就是删除重复的导航属性,并且生成的迁移很好。