我有一個SELECT語句這樣的..Select語句詳細視圖
Select * From A Join B on A.ID = B.ID
And A.Gener = 'M'
And A.Age = 21
And B.School = 'Bluh'
--- many more AND Clauses
現在這些「AND」條款是動態的,他們將我的vb.net web應用程序中可用於構築基於用戶的選擇....
例如...
if gener.text <> "" Then
qry = qry & " And A.Gender='M'"
我真的不希望建立在這樣的蒼蠅我的SQL查詢。有沒有更好地使用LINQ或其他的方法?
我的實際SQL查詢將包含多達30個動態AND(基於用戶選擇)。
請指教。
感謝
Erland Sommarskog在[T-SQL中的動態搜索條件](http://www.sommarskog.se/dyn-search.html)上寫了一對很好的文章 - 如果你想推這全部歸到數據庫級別。簡短版本 - 使用現代SQL Server,您可以包含所有的子句,例如'(A.Gener = @Gener或@Gener IS NULL)',使用'RECOMPILE'選項,服務器將生成一個有效的根據'@ Gener'參數是否爲'NULL'來計劃。 –