我有关于 Entity Framework Core 和使用 LINQ 的问题。我想在访问Clients表时获取其他表的详细信息。我可以使用下面的代码获取它们。我总共需要加入大约 10 个表,在这种情况下,下面的方法是好的还是其他更好的方法?ClientId是所有表的外键。
实际上我收到如下警告
[09:34:33 警告] Microsoft.EntityFrameworkCore.Query 编译一个查询,该查询通过“包含”或通过投影加载多个集合导航的相关集合,但尚未配置“QuerySplittingBehavior”。默认情况下,实体框架将使用“QuerySplittingBehavior.SingleQuery”,这可能会导致查询性能降低。有关详细信息,请参阅https://go.microsoft.com/fwlink/?linkid=2134277 。要识别触发此警告的查询,请调用“ConfigureWarnings(w => w.Throw(RelationalEventId.MultipleCollectionIncludeWarning))”
代码:
var client = await _context.Clients
.Include(x => x.Address)
.Include(x => x.Properties)
.Include(x => x.ClientDetails)
-------------------
-------------------
-------------------
-------------------
.Where(x => x.Enabled == activeOnly && x.Id == Id).FirstOrDefaultAsync();
Run Code Online (Sandbox Code Playgroud)