gpt4 book ai didi

c# - 同一实体的多个导航

转载 作者:行者123 更新时间:2023-11-30 13:00:58 25 4
gpt4 key购买 nike

当有 2 个导航时,我在 2 个实体之间的连接有问题。

具体来说,我有以下类(class):

public class TableA
{
public TableA()
{
ListBs = new List<TableB>();
}

[Key]
public int Id { get; set; }

public TableB MainB { get; set; }

public virtual ICollection<TableB> ListBs { get; set; }
}

public class TableB
{
[Key]
public int Id { get; set; }

public virtual TableA refA { get; set; }

[Required]
public string Text { get; set; }

}

这个特定类的场景反射(reflect)了以下内容:TableA 有一个 TableB 对象的列表并且还有 1 个主要的 TableB 对象(当然也在列表中)。此外,TableB 对象实际上可能没有对 TableA 的引用

抓取工作。但是当我尝试插入新项目时,出现以下异常:

Unable to determine a valid ordering for dependent operations. Dependencies may exist due to foreign key constraints, model requirements, or store-generated values.

知道我哪里做错了吗?

最佳答案

使用此代码:

public class TableA
{
public TableA()
{
ListBs = new List<TableB>();
}

[Key]
public int Id { get; set; }

public int TableB_Id { get; set; }

[InverseProperty("TableA_Mains")]
[ForeignKey("TableB_Id")]
public TableB MainB { get; set; }

[InverseProperty("refA")]
public virtual ICollection<TableB> ListBs { get; set; }
}

public class TableB
{
[Key]
public int Id { get; set; }

public int TableA_Id { get; set; }

[Foreignkey("TableA_Id")]
[InverseProperty("ListBs")]
public virtual TableA refA { get; set; }

[Required]
public string Text { get; set; }


[InverseProperty("MainB")]
public virtual ICollection<TableA> TableA_Mains { get; set; }

}

关于c# - 同一实体的多个导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21110614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com