这个问题是我之前问题的概括:
通过实体框架使用 PostGreSQL 时 LINQ 出错
我有一个假设,即如果 2 个表之间存在超过 1 个关系(我的示例为 7 个),EF 会尝试通过添加额外的列来规范化该表。
例如模型a:
public partial class a
{
[Key]
public int id { get; set; }
[ForeignKey("contractors"), Column(Order = 0)]
public Nullable<int> ot_contractor_id { get; set; }
[ForeignKey("contractors1"), Column(Order = 1)]
public Nullable<int> gvo_contractor_id { get; set; }
public virtual contractors contractors { get; set; }
public virtual contractors contractors1 { get; set; }
}
表 [a] 与表 [contractors].[id] 有关系因此,EF 生成列的“contractors_id”和“contractors1_id”。
其他表只有 1 个关系,它们工作正常!
问题:这个假设正确吗?而多余列的问题来自具有少数关系的非正规表?谢谢!