这是我的实体结构:
var course = await Db.Courses.Include(x => x.Tests).FirstOrDefaultAsync(y => y.CourseId == id);
它包括与课程相关的所有子级测试。但我想包括所有状态未删除的测试(IsDeleted = false
)。为此,请使用以下代码:
var course = await Db.Courses.Include(x => x.Tests.Where(y=>!y.IsDeleted)).FirstOrDefaultAsync(y => y.CourseId == id);
但是它并不排除已删除的测试。有人可以告诉我如何排除已删除的测试吗?
答案 0 :(得分:0)
常规包含无法与过滤器一起使用。您需要从nuget下载Z.EntityFramework.Plus.EFCore。并使用下面的代码
var course = await Db.Courses.Where(y => y.CourseId == id).IncludeFilter(x => x.Tests.Where(y => y.IsDeleted == false)).FirstOrDefaultAsync;