使用实体框架核心时防止父/子数据循环



给定一个包含对其父(邻接表)的引用的数据模型:

class Foo
{
public int Id { get; set; }
virtual Foo Parent { get; set; }
}

如何保证不会向数据库提交循环引用?

ok:

a
b
c

不可以:

a
b
c
a

我可以通过设置隔离级别(到Serializable)来做到这一点吗?最好是在数据库本身中使用某种触发器吗?我应该为我的分层数据使用不同的模型吗?

如果我正确理解了你的问题,我认为在"Parent"中加上以下内容就足够了。类:

[JsonIgnore] //if you will ever Serialize it
[ForeignKey("OrderProductionNumber")] //using System.ComponentModel.DataAnnotations.Schema;
public virtual Foo Parent { get; set; }

相关内容

  • 没有找到相关文章

最新更新