0

次の例を使用して、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がfalseであるすべてのジョブを返す方法についてのアイデアはありますか?

4

2 に答える 2

1

試す

var jobs = db.Jobs.Include(j => j.Bids).Where(j => j.Bids.Any(b => b.IsAssigned));
于 2012-05-03T14:25:29.437 に答える
1
var jobs = db.Jobs.Include(j => j.Bids.Where(b => b.IsAssigned));
于 2012-05-03T14:20:44.430 に答える