entity-framework-core - 如何避免在 EF Core 中加载父记录的所有子项
问题描述
从使用 EF Core 2.1 的 .Net Core Web API 应用程序工作,我试图防止在使用包含时加载所有父级的子级记录。
设置如下:API 正在拉取客户的 IEnumerable 集合。我有一个 Include 语句来提取来自单独表的 CustomerType。
[HttpGet]
public IEnumerable<Customer> GetCustomer()
{
IEnumerable<Customer> customerList = _context.Customer
.Include(i => i.CustomerType);
return customerList;
}
返回 IEnumerable 集合时,每个 Customer 都包含 CustomerType 对象,该对象还包括具有该 CustomerType 的所有客户的 Customer 集合。可以想象,这正在创建一个庞大的数据集。
如何防止 EF Core 包含 CustomerType 的 Customer 集合?我尝试关闭延迟加载
_context.ChangeTracker.LazyLoadingEnabled = false;
但这没有任何效果。
解决方案
根据 vivek 的回复,我已经成功更新了 API:
[HttpGet]
public object GetCustomer()
{
var customerList = _context.Customer
.Select(s => new
{
s,
s.CustomerType.CustomerType
});
return customerList;
}
推荐阅读
- java - 如何等待使用 JSSC 库发送数据
- php - 错误:“ERR_TOO_MANY_REDIRECTS localhost 将您重定向了太多次”
- javascript - 如何在 javascript 中导入 Material UI - InputLabel
- xcode - SwiftUI:更新到 beta 7 后:使用 PresentationMode 引发错误:dyld:惰性符号绑定失败
- reactjs - 如何将 react.js 添加到 spring mvc 应用程序
- suse - 从 SUSE-12 SP4 服务器连接 vncserver 时出现黑屏错误
- tsql - 在 t-sql 中执行命令后继续
- cmd - cmd回显中缺少引号
- python - 如何使用键盘和鼠标 Python 模块将用户输入(键盘、鼠标)正确存储在文件中?
- python - 已解决:为每个脚本选择不同的 python 解释器