我有各種類型的EF實體,它們都有一個名爲「Employee」的導航屬性。生成報告時,用戶可以根據不同的員工特徵(成本中心,性別等)篩選報告。Linq-EF查詢的通用過濾方法
目前我單獨濾波過程中每個查詢,例如:
var courses = context.Courses
.Where(c => c.Employee.CostCenterID == ccID
&& c.Employee.Rank == rankID
....
)
.ToList();
真正的濾波代碼爲更多的時間,但這個只是一個暗示。無論如何,有沒有辦法創建一個通用的方法來過濾員工的結果?我將提供給此過濾器方法的所有實體將具有Employee
導航屬性。我會簡單地提供一個IQueryable<entity>
或ObjectSet<entity>
,然後得到過濾IQueryable<entity>
或ObjectSet<entity>
。
如何做到這一點?
我想你應該張貼此代碼問題上http://codereview.stackexchange.com/代替回答你自己的問題,並要求更好的解決方案 –
@SergeyBerezovskiy在問這個問題時,我不知道答案,在發佈問題後我想出了答案。所以我不喜歡給教程什麼的。你知道那些答案剛剛出現在你腦海中的時刻... –
@SergeyBerezovskiy無論如何,謝謝。我也在代碼評論中發佈。 –