VB linq to sql isnull

时间:2012-11-16 12:06:33

标签: vb.net linq isnull

我想在linq中将其设为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说我不能用?表达(用西班牙语表示没有用的卡特克?'')

有什么想法吗?

PD:对不起我的英语。

2 个答案:

答案 0 :(得分:1)

如果您的值类型是字符串,则可以使用以下表达式:

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

如果它是可空类型(如int?,Double?,SomeClass?):

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

参考:

答案 1 :(得分:-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")