求助如何正确使用LINQ join isnull和把查询结果转换成datatable

gabriel37 2018-07-27 02:13:37
SQL是下面这样写的,目的是用join比较两个datatable,这两个datatable验证过都是有数据的,筛选条件是其中一个表某个字段是null

select dsGLVRELF.Tables[0].* from dsGLVRELF.Tables[0] abc join dsLKMAsso.Tables[0] xyz on abc.service_tag=xyz.service_tag where xyz.service_tag is null

我自己折腾出来的linq是下面酱紫的,但是,总是提示搜索出来的结果里面没有datarow, 不知道是linq不对,还是把LINQ结果转换成datatable方法不对
var RelfnoAsso = from relief in dsGLVRELF.Tables[0].AsEnumerable()
join associated in dsLKMAsso.Tables[0].AsEnumerable() on relief.Field<string>("SERVICE_TAG") equals associated.Field<string>("SERVICE_TAG")
where associated.Field<string>("SERVICE_TAG") == null
select relief;[/align]

DataTable dtRelfNoAsso = new DataTable();
dtRelfNoAsso = RelfnoAsso.CopyToDataTable<DataRow>(); //source contains no data
...全文
163 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
gabriel37 2018-07-27
  • 打赏
  • 举报
回复
引用 1 楼 ducker3590 的回复:
var RelfnoAsso = from relief in dsGLVRELF.Tables[0].AsEnumerable()
join associated in dsLKMAsso.Tables[0].AsEnumerable() on relief.Field<string>("SERVICE_TAG") equals associated.Field<string>("SERVICE_TAG")
where string.IsNullOrEmpty(associated.Field<string>("SERVICE_TAG"))
select relief

还是一样的,同样的提示~~System.InvalidOperationException:“The source contains no DataRows.”
csdnFUCKINGSUCKS 2018-07-27
  • 打赏
  • 举报
回复
var RelfnoAsso = from relief in dsGLVRELF.Tables[0].AsEnumerable()
join associated in dsLKMAsso.Tables[0].AsEnumerable() on relief.Field<string>("SERVICE_TAG") equals associated.Field<string>("SERVICE_TAG")
where string.IsNullOrEmpty(associated.Field<string>("SERVICE_TAG"))
select relief

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧