我正在 LINQ 中的两个数据表之间进行右连接。我在 orderby 行“”Specified cast is not valid”处收到错误。
“SomeOtherID”列是 dbml 中的 System.Int64 类型,并允许 DBNull。该列在数据中有一些空值,这是有效的。似乎必须在 orderby 语句中以某种方式处理这些空值,但我不确定如何处理。数据通过网络服务进入。我检查了reference.cs 文件,该列的相应属性是一个int。
LINQ语句应该如何?
var query = (from table1 in DataTable1.AsEnumerable()
join table2 in DataTable2.AsEnumerable()
on (int) table1["CustomerID"] equals (int) table2["CustomerID"] into outer
from table2 in outer.DefaultIfEmpty()
orderby (int?)table2["SomeOtherID"]
select new
{
......
});