CF实体框架过滤相关数据

时间:2012-05-03 14:18:17

标签: linq entity-framework linq-to-entities

使用以下示例我尝试检索IsAssigned为false的所有作业。

public class Job {
  public int JobId { get; set; }
  ...
  public virtual ICollection<Bid> Bids { get; set; }
}

public class Bid {
  public int BidId { get; set; }
  public int JobId { get; set; }
  ...
  public bool IsAssigned { get; set; }
  ...
  public virtual Job Job { get; set; }
}

以下是用于显示可用作业的View方法。

public ViewResult AvailableJobs() {
  var jobs = db.Jobs.Include(j => j.Bids.Select(b => b.IsAssigned));
  return View(jobs.ToList());
}

这会产生以下错误

指定的包含路径无效。 EntityType'MvcTuition.DAL.Bid'不声明名为'IsAssigned'的导航属性。

关于如何返回IsAssigned所有的作业是错误的任何想法?

2 个答案:

答案 0 :(得分:1)

var jobs = db.Jobs.Include(j => j.Bids.Where(b => b.IsAssigned));

答案 1 :(得分:1)

尝试

var jobs = db.Jobs.Include(j => j.Bids).Where(j => j.Bids.Any(b => b.IsAssigned));