我想在对象的孩子身上做点什么。例如:
模范学校班有孩子,我希望学校班只有名叫汉克的孩子
Model Schoolclass
int ID
string Classname
virtual ICollection<Children> Children
Model Child
int ID
int ClassID
string FirstName
string LastName
this.db.Schoolclass.Where(sc =>
sc.ID == 4 &&
sc.Children.FirstName == "Hank"
).FirstOrDefault();
但是孩子不能直接访问,因为它是一个hasMany关系。
我必须使用像Any这样的东西吗?
这样我查询收到的数据(但我不需要所有孩子,这是开销)
Schoolclass = this.db.Schoolclass.Where(sc =>
sc.ID == 4)
.FirstOrDefault();
Schoolclass.Children = Schoolclass.Children.Where(c => c.FirstName == "Hank").ToList();
答案 0 :(得分:1)
“我想要所有名为Hank的孩子的学校班级”:
this.db.Schoolclass.FirstOrDefault(sc => sc.Children.All(c => c.FirstName == "Hank"));
答案 1 :(得分:0)
我想你想要这个:
this.db.Schoolclass.Where(sc =>
sc.ID == 4 &&
sc.Children.Any(x=>x.FirstName == "Hank")
).FirstOrDefault();
或更简单:
this.db.Schoolclass.FirstOrDefault(sc => sc.ID == 4 &&
sc.Children.Any(x=>x.FirstName == "Hank"));