LINQ按空值对整数排序

时间:2018-07-02 22:26:17

标签: c# vb.net linq sql-order-by

在这里的人们的帮助下,我能够弄清LINQ的问题。但是现在,我遇到了一个新问题,我无法解决...

这是我的代码:

Dim rfc = From tbl In dt Where tbl(0).Equals(sModel)
                  Select c1 = tbl(0), c2 = tbl(1), c3 = tbl(2), c4 = tbl(3), c5 = tbl(4), c6 = tbl(5), c7 = tbl(6)
                  Order By c2.ToString

所以...这将根据需要对我的表进行排序,但是现在我想插入第二个排序顺序,位于c3上。但是c3是字符串格式的整数,也可以为null(不要问!)。我尝试过:

Order By c2.ToString, CInt(c3)

现在c2有时为null,但是toString函数似乎可以解决该问题,但是,如果c3为null,则会抛出错误,因为它无法将dbull转换为整数。

我的问题是,有人知道一种方法: a)允许出现此错误,或者 b)LINQ可以在例程的收集阶段执行类似Switch功能的任何功能来转换dbnull吗?

非常感谢所有帮助。

0 个答案:

没有答案