C# 在EF中将一个表与另一个表关联多次

C# 在EF中将一个表与另一个表关联多次,c#,entity-framework,C#,Entity Framework,我有两个表,比如Table1和Secondtable表1有多个列具有第二个表的外键。示例结构如下所示 Table1 ID Name Col1 Col2 Col3 Secondtable COlID Col1 在表1中Col1、Col2、Col3具有FK toSecondtable.ColID。现在将EF添加到应用程序中。(在我的例子中是ASP.NETC#)。当您看到表1的at实体模型时,它将具有第二个表的三个属性,如下所示 public virtual Secondtable Sec

我有两个表,比如
Table1
Secondtable
<代码>表1有多个列具有第二个表的外键。示例结构如下所示

Table1
ID Name Col1 Col2 Col3

Secondtable
COlID Col1
表1中
Col1、Col2、Col3
具有FK to
Secondtable.ColID
。现在将EF添加到应用程序中。(在我的例子中是ASP.NETC#)。当您看到
表1的at实体模型时,它将具有
第二个表的三个属性,如下所示

    public virtual Secondtable Secondtable { get; set; }
    public virtual Secondtable Secondtable1 { get; set; }
    public virtual Secondtable Secondtable2 { get; set; }
现在在
Table1
中添加另一列,如
BCol
,与
Secondtable.ColID
相关。在应用程序中更新EF。你的模型看起来像

    public virtual Secondtable Secondtable { get; set; }
    public virtual Secondtable Secondtable1 { get; set; }
    public virtual Secondtable Secondtable2 { get; set; }
    public virtual Secondtable Secondtable3 { get; set; }
问题是如何确定哪一列与表1的
列相关?我认为SQLServer会按字母顺序给出键名。也就是说,按顺序
Col1,Col2,然后Col3
。如果添加更多列,它将相应地更改名称(Bcol、Col1、Col2、Col3)。当我们更新edmx时,我必须在studio中的模型浏览器中更改关系名称

有没有简单的方法来确定这种关系?谢谢
(如果需要改进解释,请进行注释。)

您使用的是哪种方法:代码优先还是数据库优先?数据库优先。如果添加更多列,它将相应地更改名称否。如果添加更多外键,Sql Server不会更改现有约束名称。但为什么会有这么多协会?这四个参考文献有不同的作用吗?如果是,请相应地命名外键和约束,以便在edmx中识别它们。如果没有,请将其转换为一对多关联。