【问题标题】:Entity Framework Core Include Isn't Working Sporadically实体框架核心包含不偶尔工作
【发布时间】:2018-10-03 15:38:39
【问题描述】:

在下面的查询中,EF Core 不会设置包含的 Shipment 属性,即使它存在于所有记录中。包含的属性如何始终包含在结果中?

List<Order> result = _context
    .Orders
    .Include(x => x.Shipment)
    .Where(x => x.Date > DateTime.UtcNow.AddDays(-7))
    .ToList();
// Count below is greater than 0
// Foreign key exists on Order and Shipment
var ordersWithNoShippingInfo = result.Where(x => x.Shipment == null)

【问题讨论】:

  • 订单是否也有一个设置为Virtual的Shipment属性?

标签: c# .net ef-core-2.0


【解决方案1】:

EF Core 可能使用 Included 属性中的数据达到大小限制。如果返回的数据没有更新,则使用 .AsNoTracking() 来提高查询性能,以帮助设置“包含”属性以获得更大的查询结果。

List<Order> result = _context
    .Orders
    .Include(x => x.Shipment)
    .Where(x => x.Date > DateTime.UtcNow.AddDays(-7))
    .AsNoTracking()
    .ToList();

【讨论】:

  • 谢谢!花了几个小时试图弄清楚为什么我的包含在升级到 .net 核心后停止工作
猜你喜欢
  • 1970-01-01
  • 2021-06-06
  • 2023-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-11
  • 2020-05-24
  • 1970-01-01
相关资源
最近更新 更多