2013-05-01 63 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; 
相关问题