2012-05-03 70 views
0

使用以下示例,我試圖檢索IsAssigned爲false的所有作業。CF Entity Framework過濾相關數據

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

這將產生以下錯誤

A中規定的包含路徑是無效的。 EntityType'MvcTuition.DAL.Bid'不聲明名爲'IsAssigned'的導航屬性。

有關我如何返回IsAssigned爲false的所有作業的任何想法?

回答

1

嘗試

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

感謝@Eranga工作的魅力。我確實嘗試過類似的東西,但沒有運氣。 –

+0

@SeanDooley這將返回至少有一個分配出價的作業的所有出價,不僅分配了所有作業的出價。這就是你所說的「過濾相關數據」的含義? –

1
var jobs = db.Jobs.Include(j => j.Bids.Where(b => b.IsAssigned)); 
相關問題