2011-06-27 51 views
4

如果我想用linq生成查詢(month(created) = 1 and year(created) = 2010) or (month(modified) = 1 and year(modified) = 2010),我該如何去解決它?LINQ to SQL中的括號表達式

我有o.Created.Value.Month == month && o.Created.Value.Year == year。如果我做(o.Created.Value.Month == month && o.Created.Value.Year == year) || (o.Modified.Value.Month == month && o.Modified.Value.Year == year)不會忽略括號嗎?

回答

3

不,LINQ不會忽略括號 - 它們對於指示邏輯非常重要。它們有有效存在於表達式樹中,因爲您最終將得到一個帶有兩個子表達式的「OR」表達式,其中每個表達式都是「AND」。

您給出的查詢應該沒問題 - 您是否嘗試過並檢查了生成的SQL?

+0

謝謝,這樣做的工作(儘管使用了CONVERT而不是MONTH,但返回的結果仍然相同) – SamWM