【发布时间】:2020-01-24 05:34:42
【问题描述】:
数据表1
LoginId LoginName SCount
1 Mohit 20
3 Riya 25
数据表2
LoginId LoginName ECount
2 Smita 11
3 Riya 13
我想显示这样的结果
LoginName Scount Ecount Total
Mohit 20 0 20
Smita 0 11 11
Riya 25 13 38
查询:
DataTable dtResult = new DataTable();
DataTable UserCount1 = new DataTable();
DataTable UserCount2 = new DataTable();
// Assigning value to datatable
if (ds != null)
{
UserCount1 = ds.Tables["UserCount1"];
UserCount2 = ds.Tables["UserCount2"];
}
var LinqResult =
from dataRows1 in UserCount1.AsEnumerable()
join dataRows2 in UserCount2.AsEnumerable()
on dataRows1.Field<string>("LoginId") equals dataRows2.Field<string>("LoginId") into lj
from r in lj.DefaultIfEmpty()
select dtResult.LoadDataRow(new object[]
{
dataRows2.Field<string>("LoginName"),
r == null ? 0 : r.Field<int>("SCount"),
r == null ? 0 : r.Field<int>("ECount")
}, false);
在
中获取编译时间错误select statement( dataRows2.Field<string>("LoginName"),)
dataRows2 在当前上下文中不存在。
如何达到这个效果?
【问题讨论】:
-
这个问题在这里有答案stackoverflow.com/questions/665754/…
-
但是 dataRow1 是可见的,没有给出任何错误。你可以修改查询
-
嗨,你能修改我的查询吗