Model 无法首先在实体框架代码中使关系正常工作

Model 无法首先在实体框架代码中使关系正常工作,model,entity-framework-6,table-relationships,Model,Entity Framework 6,Table Relationships,我有两张桌子,这是一对一的关系 表1 Table1Id(primarykey) Table2Id(foreign key) Colum1 Column2 表2 Table2Id(primarykey) Colum1 Column2 我想首先使用数据注释或fluentapi在实体框架代码中设置它 我尝试了几种方法,但在尝试插入单个table2实体时总是出现外键插入错误,因为没有到表1的链接,或者它创建了一个不需要的桥接表 两个表主键也需要identitySpec,并且都是整数 模型中的哪些属性

我有两张桌子,这是一对一的关系

表1

Table1Id(primarykey)
Table2Id(foreign key)
Colum1
Column2
表2

Table2Id(primarykey)
Colum1
Column2
我想首先使用数据注释或fluentapi在实体框架代码中设置它

我尝试了几种方法,但在尝试插入单个table2实体时总是出现外键插入错误,因为没有到表1的链接,或者它创建了一个不需要的桥接表

两个表主键也需要identitySpec,并且都是整数


模型中的哪些属性应该使用哪些属性或fluent API lambda表达式进行修饰?

如果我理解得很好,您希望建立1对1的关系,对吗?因此,一种方法是:

public class Table1
{
    [Key]
    public int Table1Id { get; set; }
    public string Column1 { get; set; }
    public string Column2 { get; set; }
    public virtual Table2 Table2 { get; set; }
}

public class Table2
{
    [ForeignKey("Table1")]
    public int Table2Id { get; set; }
    public string Column1{ get; set; }
    public string Column2{ get; set; }
    public virtual Table1 Table1 { get; set; }
}

你必须考虑在一对一关系中,来自第一个实体的主键是第二个主键和外键(同时)。