我有一個字典Dictionary<string, List<string>> FilterDictionary
其中包含一個列名稱作爲關鍵和該關鍵字的值是將被用作where子句的條件列表。Linq到SQL多列
我需要查詢我的數據庫,並且對於字典中的每個列查詢該列的條件列表中的那個鍵。
想知道做這件事的最好方法是什麼?
這就是我想達到的,但顯然我知道它並不像columnName == filterCriteria
那麼簡單。
var originalQuery = from p in productContext.Products
select p;
foreach (var item in FilterDictionary)
{
string columnName = item.Key;
foreach (var filterCriteria in FilterDictionary)
{
originalQuery.Where(columnName == filterCriteria);
}
}
是否有理由不使用或不能使用'Expression>'集合? –
Yuck
只是因爲之前從未做過。你會說這是最好的路線嗎? – lnelson92
我會這麼說。看到我的答案。通過這種方式您可以獲得強大的打字和編譯時安全性。在構建過濾條件的同時,您還可以獲得智能感知。 – Yuck