2011-01-10 126 views
0

我正在查看將存儲過程中的邏輯移植到EF模型中。存儲過程可選地接受將被搜索的部門列表。實際上,我正在動態構建搜索條件(或試圖......)。動態構建查詢表達式或

我有一個參數類,其中包含List< string> DeptCodes這是傳遞給我的Searcher類。我正在對一組數據應用約束條件IQueryable< SearchResult> dataList。如果DeptCodes包含任何項目,我想要應用鏈接的or-ed約束(在SQL where (DeptCode in 'ABC' or DeptCode in 'DEF')中)。

我想我想創建一個表達式樹,但我不知道從哪裏開始(我的LINQ技巧目前還沒有達到速度)。任何人都可以指出我正確的方向,或給我一個小樣本讓我開始?

在此先感謝

回答

1

我覺得PredicateBuilder可能是一個很好的解決方案。請致電it

+0

謝謝 - 這確實奏效。如果其他人尋找相同的解決方案,您還需要下載LinqKit,因爲EF不支持Invoke節點,這提供了一種解決方法。 – Dave 2011-01-10 14:03:05