2010-08-27 42 views
0

林上的源代碼的工作,在一個VAR類型的SQL查詢像我怎麼能在一個變種類型

var query = select ... from ... where ... ; 

條件字符串添加到SQL查詢是否有可能增加一個動態的「where子句「像

string condition = "where x.x > x.y"; 

e.g. var query = select ... from ... + condition; 

蔭對不起我的英文不好

+0

Quellcode?那是什麼? – 2010-08-27 12:24:41

+0

源代碼的德語單詞 – citronas 2010-08-27 12:28:23

+0

對不起,但您的代碼沒有意義。它是C#字符串嗎?那麼你應該引用他們的話。是LINQ2SQL,那麼你應該有代碼[var query = from x in foo select x]。 – 2010-08-27 12:31:15

回答

0

您沒有寫明您的查詢的樣子。這是LINQ操作的結果還是僅僅是一個字符串?

關鍵字var只能用於設計時間。編譯器會用正確的數據類型替換它。

如果SQL查詢是一個字符串,如

var query = "Select ... from ... where .."; 

然後

string condition = "where x.x > x.y"; 
query += condition; 

是有效的,因爲這兩個變量都是字符串。您的代碼所建議的方式不能將非字符串類型與字符串組合在一起。

我現在假設您使用的是LINQ語法。可以將這些條件添加到每個代碼的linq查詢中,我認爲關鍵字linq查詢生成器,表達式樹和謂詞應該讓你開始。

我強烈建議您停止使用var關鍵字,而不必完全知道它在做什麼以及在哪裏使用它。

+0

你的建議,以避免var關鍵字是非常主觀的。有些人喜歡類型推斷。 :) – 2010-08-28 13:50:35