这应该是直截了当的,但我在这个问题上没有取得任何进展。我想写一个LINQ语句,它返回一个匹配给定ID并包含一组访问的人。我能做到的。现在,我只需要包含活动访问,仅当IsActive标志为true时才包括访问。我的查询包含在下面。我做错了什么?
var inmate = this.db.Inmates.Where(p => p.Id == id).Include(p => p.Visits.Where(v => v.IsActive)).FirstOrDefault();
更新#1 - 我也试过这句话:
var inmate = this.db.Inmates.Include(p => p.Visits).Where(p => p.Id == id && p.Visits.Any(v => v.IsActive)).FirstOrDefault();
答案 0 :(得分:0)
试试这个:
var inmate = this.db.Inmates.Where(i => i.Visits.Any(x => x.IsActive))
注意:代码假定IEnumerable<Visits>
是Inmate
对象的属性。