2

これをlinq to sqlで作成したい

select isnull(x.COD, '1') as 'NCOD'
from table x

私はこれを試しました。

From x In table
select NCOD = x.COD ?? '1';

LINQPad 4 と VB Expression を使用しています。しかし、LINQPAdは使用できないと言っていますか? 式 (No se puede usar aquí el carácter '?' スペイン語)

何か案が?

PD: 私の英語でごめんなさい。

4

2 に答える 2

1

値の型が文字列の場合、次の式を使用できます。

result = from x in values select IF(String.IsNullOrEmpty(x),"No value",x);

null 許容型の場合 (int?、Double?、SomeClass? など):

result = from x in values select IF(x.HasValue,x,1);

参照:

于 2012-11-16T12:20:46.267 に答える
-1

次のクエリを試してみてください。これは役に立ちます。

var InvoiceNo = dbContext.table.where(x => (int?)x.ICOD) ?? "NCOD";

ここで、?? nullable int intでのみ機能しますか?

そして、あなたは次のコードを使用するよりもvb.netユーザーです。これはあなたに役立ちます...

Dim InvoiceNo = If(dbContext.table.where(Function(x) DirectCast(x.ICOD, System.Nullable(Of Integer))), "NCOD")
于 2012-11-16T12:16:56.573 に答える