2013-05-01 90 views
0

我在業務邏輯中更改字符串中某個字節的變量,但我沒有觸及包含該值的數據庫字段。所以在此期間,我正在尋找一個C#相當於JavaScript的條件語法SomeValue = (TestValue === Something) ? 1 : 2;根據linq查詢中的另一個值設置一個值

基本上,LINQ到SQL查詢我看起來像這樣:

var TheOutput = from x in MyDC.SomeTable 
       .... 
       select new SomeModel() 
       { 
        SomeByte = (x.SomeField === "test") ? 1 : 0 
       } 

SomeField是一個字符串,如果它等於一些測試字符串,那麼我希望輸出模型的屬性設置爲一個字節。

+4

只需使用'=='而不是'===' – alex 2013-05-01 14:42:26

+0

您是否嘗試過精確查詢,但是使用'=='而不是'==='?條件運算符在C#中受支持,但沒有'==='運算符。 – 2013-05-01 14:42:30

+0

@JonSkeet:暫時不編譯 – frenchie 2013-05-01 14:42:47

回答

1

CAST顯式字節。 SomeByte = (byte)(x.SomeField=="test"?1:0)應該可以工作。

0

例如

select new SomeModel() 
      { 
       SomeByte = (x.SomeField == "test") ? Convert.ToByte(1); : Convert.ToByte(0); 
      } 
2

使用

(x.SomeField == "test") ? 1 : 0; 
相關問題