この質問は、私の前の質問の一般化です。
Entity Framework で PostGreSQL を使用する場合の LINQ のエラー
2 つのテーブル間に複数のリレーション (私の例では 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 つしかなく、正常に機能します。
質問: その仮説は正しいですか?! そして、過剰な列の問題は、いくつかの関係を持つ異常なテーブルから来ていますか? ありがとう!