VB LINQ到SQL 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:对不起我的英文。


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

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);

参考:

  • VB.NET中的可空类型 - http://visualbasic.about.com/od/usingvbnet/a/nullabletypes.htm
  • 有关VB IF运算符的警告:https://stackoverflow.com/a/11990998/1732138

  • 尝试以下查询,这对您会有所帮助。

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

    在这里, ?? 仅适用于可空int int?

    而你是一个vb.net用户,你应该使用下面的代码,这对你有帮助...

    Dim InvoiceNo = If(dbContext.table.where(Function(x) DirectCast(x.ICOD, System.Nullable(Of Integer))), "NCOD")
    
    链接地址: http://www.djcxy.com/p/42857.html

    上一篇: VB linq to sql isnull

    下一篇: Npgsql parameters with NULL value, vb.net