我想在C#中保留连接2个数据表AllTimesTxnTable
和resolvedDt
,其中我想要来自AllTimesTxnTable的每一行,并且只匹配来自resolvedDt的行。
连接条件应该基于mid
和txndate
,最后选择我希望来自AllTimesTxnTable的mid和txndate以及来自resolvedDt的txncount,如果在resolvedDt中没有记录则为0 < /强>
我尝试了以下LINQ查询:
var results = from table2 in AllTimesTxnTable.AsEnumerable()
join table1 in resolvedDt.AsEnumerable()
on new { mid = table2.Field<int>("mid"), txndate = table2.Field<string>("txndate") } equals new { mid = table1.Field<int>("mid"), txndate = table1.Field<string>("txndate") }
into temp
from leftTable in temp.DefaultIfEmpty()
select new
{
MId = (int)table2["mid"],
TxnDate = (string)table2["txndate"],
TxnCount = leftTable["txncount"] == null ? 0M : (decimal)leftTable["txncount"]
};
但是在选择时它会给我一个错误:Object reference not set to an instance of an object.
。
这里没有出错。
答案 0 :(得分:1)
更新了代码。它现在正在工作。
new Worker(
action = "actionName",
owner = null,
validate = scopeObject => true,
model = scopeObject => (),
connector = scopeObject =>
FrameFactory.createContainerAndShow("string", new JPanel())
))