如何動態構建一個linq OR
查詢,其中幾列之一可以匹配搜索字符串?這在SQL中並不難。例如:如何動態構建一個linq OR查詢,其中幾列之一可以匹配搜索字符串?
SELECT ID, Title, Description, Comments, CreatedBy, CreatedOn, UpdatedBy, UpdatedOn
FROM Category
WHERE (Title LIKE '%Supplier%')
OR (Description LIKE '%Supplier%')
有時我會需要添加OR (Comments LIKE '%Supplier%')
或省略OR (Title LIKE '%Supplier%')
,這就是爲什麼我要動態地生成它。
我不認爲這是一個重複的問題,因爲潛在的重複不會以可以使用Stackoverflow搜索功能找到的方式被詢問。
我們絕對走在正確的軌道上。但是,有時我需要添加「OR(註釋LIKE'%Supplier%')」或刪除「OR(標題LIKE'%Supplier%')」,這就是爲什麼我要動態構建它的原因。直到運行時,我才知道要查詢哪些列。我如何處理這些案件? – Tarzan
@Tarzan你有一些不同的選項,但我會建議只寫不同版本的查詢,並確定哪一個與典型的if-elseif結構運行。想到的另一個選擇是使用反射,但這比它值得imo更有用。 – evanmcdonnal
我最終解決了這個問題,結合了你和dasblinkenlight的想法。 – Tarzan