【发布时间】:2020-02-19 09:19:07
【问题描述】:
如果我有两个对象或模型如下:
class School
{
ICollection<Student> students { get; set; }
}
class Student
{
string Name { get; set; }
School school { get; set; }
bool Deleted { get; set; }
}
当试图让学校只包含未删除的学生时,为什么使用 where 子句无法正常工作?
var school = DatabaseContext.Schools
.Include(x => x.Students)
.Where(y => !y.Deleted).FirstOrDefault();
where子句不应该过滤没有被删除的学生吗?在不使用任何第三方库的情况下,也不允许在 include 中使用 where 子句。
【问题讨论】:
-
"where 子句不应该过滤未删除的学生 - 答案是它不应该做任何事情,这不会编译
-
@MichaelRandall 代码写得不是很好,因为它只是我的问题的一个示例/预览,如果我们正在讨论编译该特定代码
-
@RicardoPeres 您知道全局查询文件是 ef CORE 功能,而不是 ef?不?啊,太糟糕了。
-
你没有错过 Student 类中的 School 属性吗?
-
@RicardoPeres 确实谢谢。
标签: c# asp.net-mvc entity-framework linq