include()和thenClude()带有无效导航属性

问题描述 投票:0回答:0
使用new()在include()现在和将来的EF修订中使用new()?

在thenInclude()中使用new()现在和将来的EF修订?

有一种更好的写作方法,它仍然不需要分成多个查询或懒惰的装载诊所!。基本和诊所!。

NB:返回的实体不会具有更改跟踪。他们只会被阅读。我在此处尚未包含CreateBaseQuery方法的代码,因为它仅返回dbContext作为iQueryable.
  1. 提前感谢
  2. List<Child> children = await CreateBaseQueryable(context, healthBoardId) .Include(child => child.ChildStatuses) .Include(child => child.ChildClinics) .ThenInclude(childClinic => childClinic.Clinic ?? new Clinic()) .ThenInclude(clinic => clinic!.Base) .Include(child => child.ChildClinics) .ThenInclude(childClinic => childClinic.Clinic ?? new Clinic()) .ThenInclude(clinic => clinic!.Board) .Where(child => child.ChildStatuses.Any(status => status.ACounter >= 2)) .Where(child => child.ChildClinics.Any( clinic => !clinic.IsDeleted && clinic.Clinic != null && ( clinic.Clinic.ClinicType == (int)ClinicType.Type1|| clinic.Clinic.ClinicType == (int)ClinicType.Type2) ) ) .ToListAsync();
Include

ThenInclude

不在乎这些属性是否为无效/无效,只是为了发出内部与左联接的目的。它与对象的LINQ不同,或者直接访问null属性时。


c# entity-framework-core eager-loading
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.