【发布时间】:2017-12-17 03:38:59
【问题描述】:
尝试使用 LINQ 连接三个数据表 table1、table2、table3。表 1 和表 2 在 2 个条件下连接,表 1 和表 3 在 1 个条件下连接。以下是我的代码。但我得到一个例外说 “无法将 'System.DBNull' 类型的对象转换为 'System.String' 类型。”
下面是我的代码:
var result = from cust in tblCust.AsEnumerable()
join mat in tblMat.AsEnumerable()
new { coil_id = (string)cust["coil_id"], order_id = (string)cust["order_id"] }
equals
new { coil_id = (string)mat["PIECE_ID"], order_id = (string)mat["PRODUCTION_ORDER_ID"] }
join parts in tblParts.AsEnumerable() on (string)mat["PIECE_ID"] equals (string)parts["ProdCoilNo"]
select new
{
coil_id = mat["PIECE_ID"],
order_id = mat["PRODUCTION_ORDER_ID"],
part = parts["PartNumber"],
gauge = mat["THICKNESS"],
width = mat["WIDTH"],
weight = mat["WEIGHT"],
code = mat["MATERIAL_BLOCK_STATE"],
requestor_comment = cust["requestor_comment"],
requestor = cust["requestor"],
updated_by_comment = cust["updated_by_comment"],
updated_by_user = cust["updated_by_user"]
};
我在 (string)parts["ProdCoilNo"] 附近遇到异常
【问题讨论】:
标签: c# mysql sql-server postgresql linq