0

这应该很简单,但我在这个问题上没有取得任何进展。我想编写一个 LINQ 语句,它返回与给定 ID 匹配的人并包含一组访问。我能做到的。现在,我只需要包含活动访问,即仅当 IsActive 标志为真时才包含访问。我的查询包括在下面。我究竟做错了什么?

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();
4

1 回答 1

0

尝试这个:

var inmate = this.db.Inmates.Where(i => i.Visits.Any(x => x.IsActive))

注意:代码假定IEnumerable<Visits>Inmate对象的属性。

于 2012-06-25T01:58:04.220 回答