在 EF Core 中加载相关数据
Posted
技术标签:
【中文标题】在 EF Core 中加载相关数据【英文标题】:Loading related data in EF Core 【发布时间】:2020-09-23 20:37:28 【问题描述】:我有一个关于 Entity Framework Core 的问题。假设有一个 DbContext
提供与 2 个实体的工作:Person int Id; int PassportId; Passport Passport
Passport int Id; int PersonId; Person Person
作为查询的结果
Person person = context.Person.Include(p => p.Passport).FirstOrDefault();
我得到了 Person 对象(person),它指的是 Passport 的对象。但是,Passport 对象中也有对 person 的引用。
怎么样?为什么将 Passport 对象隐式绑定到 Person 对象提供?我似乎是由于导航属性并且它们以两种方式工作。请分享信息。
【问题讨论】:
【参考方案1】:你得到一个循环引用,你是否启用了延迟加载? 如果引用导致异常,您可以使用它来避免它。
services.AddMvc()
.AddJsonOptions(options =>
options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
);
【讨论】:
以上是关于在 EF Core 中加载相关数据的主要内容,如果未能解决你的问题,请参考以下文章