gpt4 book ai didi

c# - 从一个对象到同一实体类型的两个对象的多个关联

转载 作者:可可西里 更新时间:2023-11-01 09:15:54 25 4
gpt4 key购买 nike

我正在尝试使用代码优先和流畅的 API 创建一个对象,该对象包含来自同一个表的两个不同实体。换句话说,传输对象持有对两个不同 jar 对象的引用——一个是源,另一个是目的地。

但是,当我使用以下代码时,出现异常,指出“引用关系将导致不允许的循环引用。”

modelBuilder.Entity<Transfer>()
.HasRequired<Tank>(t => t.Source)
.WithMany(t => t.OutboundTransfers);
modelBuilder.Entity<Transfer>()
.HasRequired<Tank>(t => t.Destination)
.WithMany(t => t.InboundTransfers);

我最好的猜测是它认为我将两个键指向同一个坦克?知道如何实现吗?

编辑:从 Entity Framework Code First - two Foreign Keys from same table 中找到添加 .WillCascadeOnDelete(false) 的答案

最佳答案

如您所述,您应该能够添加 .WillCascadeOnDelete(false) - https://stackoverflow.com/a/5559300/5416

modelBuilder.Entity<Transfer>()
.HasRequired<Tank>(t => t.Source)
.WithMany(t => t.OutboundTransfers)
.WillCascadeOnDelete(false);
modelBuilder.Entity<Transfer>()
.HasRequired<Tank>(t => t.Destination)
.WithMany(t => t.InboundTransfers)
.WillCascadeOnDelete(false);

我刚刚添加了这个答案,这样它就不会再显示在未回答列表中,因为未回答的答案为零。标记为社区 wiki :)

关于c# - 从一个对象到同一实体类型的两个对象的多个关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5986236/

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