小编use*_*731的帖子

避免或控制 Entity Framework Core 中的循环引用

我真的受够了,但至少我想知道发生了什么事。开始了:

我的项目是一个 ASP.NET Core Web 应用程序,具有 Code First Entity Framework Core 和 Angular 前端。

我想控制何时加载引用的对象。它们可能很有用,但它们也可能在前端创建带有内部错误的循环引用。(JSON 将无限长。)

楷模:

class Book {
   public virtual ICollection<Page> Pages { get; set; }
   ...simple properties
}

class Page {
   public virtual Book Book { get; set; }
   ...simple properties
}
Run Code Online (Sandbox Code Playgroud)

在此示例中,书籍中的每本书都会有一个空/空页面列表。

using (var context = new MoneyStatsContext())
{
   var books = context.Books.Where(rule => rule.State == 1).ToList();
}
Run Code Online (Sandbox Code Playgroud)

在此示例中,Pages列表不为 null,并且每个Page都会设置其Book属性。从而创建循环引用。

using (var context = new MoneyStatsContext()) …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc entity-framework-core asp.net-core

6
推荐指数
1
解决办法
1万
查看次数