我有一个继承自PERTActivity_T
类的类MetadataTyper
,以及其他表。
与其兄弟姐妹PERTActivity_T
相对已经具有以下属性:
[ForeignKey("BSContext")]
public int? BSContextId { get; set; }
public BSContext BSContext { get; set; }
但是现在我需要所有继承自MetadataTyper
的表来拥有这些属性。我将其从PERTActivity_T
中移除并将其包含在MetadataTyper
中,但是当我生成迁移时,它会删除BSContextId
到BSContext
之间的关系,并添加一个名为{{1}的额外字段(使用下划线)并将外键添加到其中。
只有从BSContext_Id
继承PERTActivity_T
的其他表格才会发生这种情况。
首先,我尝试手动编辑迁移以删除对MetadataTyper
的所有更改,因为它已经按照我需要的方式创建,所有这些都已经联合工作正常但是当我使用映射器编辑时{{1}或者与之相关的任何表格抛出错误,指出PERTActivity_T
未知。
如何让EF了解PERTActivity_T
不需要进行任何其他更改?
答案 0 :(得分:0)
原来我的问题是BSContext
已经包含PERTActivity_T
的导航属性,然后我复制了它。
我所要做的就是删除重复的导航属性,并且生成的迁移很好。