我正在構建使用Entity Framework 4.1的ASP.Net MVC 3 Web應用程序。我還使用具有通用存儲庫的工作單元模式。我的模型中有兩個實體,Shift和ShiftDate。請參閱下面的圖表瞭解它們的結構。我們的想法是,一個移位可以有1個或多個ShiftDates和ShiftDate只能屬於一個移。Linq To Entities Exclude相關數據
我希望創建一個查詢將返回所有班次的名單像這樣
public IList<Shift> GetShifts(int id)
{
return _UoW.Shifts.Get(s => s.organisationID == id).OrderBy(s => s.startDate).ToList();
}
然後在我的Razor視圖,我想用一個foreach循環,並列出每班的細節。其中一個細節是ShiftDates每個移位有總數。要做到這一點,我會做這樣的事情
foreach(var shiftDate in Model.Shifts)
{
@Html.DisplayFor(modelItem => item.ShiftDates.Count)
}
這工作得很好,不過,我想伯爵排除ShiftDates其shiftDateStatusID設置爲442。要做到這一點我想修改我的LINQ查詢到這個
return _UoW.Shifts.Get(s => s.organisationID == id && s.ShiftDates.Any(sd => sd.shiftDateStatusID != 442))
.OrderBy(s => s.startDate).ToList();
然而,這仍然拉回誰擁有442
一個shiftDateStatusID希望這是有道理的ShiftDates。
任何反饋將不勝感激。
謝謝。
感謝。很有幫助。 – tgriffiths