.Net Entity Framework Core Lazy Loading 和一对多关系的问题

90 阅读1分钟

刚开始学习.Net Core, 创建Entity的时候使用了Entity Framework Core, 在给两个表创建一对多的关系之后, 查询的时候返回的结果里面没有对应的信息。

Entity Class如下:

Postman结果如下:

然后应该是加了virtual之后, Entity Framework要启动lazy loading, options.UseLazyLoadingProxies().UseSqlServer(Configuration.GetConnectionString("DevConnection")) 但是启动之后报错, 错误如下:

之后google找到了解决方案,需要安装Microsoft.AspNetCore.Mvc.NewtonsoftJson这个包, 并且在Startup.cs里面加上

services.AddControllersWithViews()
    .AddNewtonsoftJson(options =>
    options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore
);

然后再使用postman测试, work~