【问题标题】:How do I use a .Where() condition with a .Include()?如何将 .Where() 条件与 .Include() 一起使用?
【发布时间】:2012-06-25 10:46:02
【问题描述】:

这应该很简单,但我在这个问题上没有任何进展。我想编写一个 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();

【问题讨论】:

标签: c# linq .net-4.0


【解决方案1】:

试试这个:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-10
    • 2018-04-16
    • 2015-12-02
    • 2014-08-21
    • 1970-01-01
    • 1970-01-01
    • 2019-10-24
    • 1970-01-01
    相关资源
    最近更新 更多