求救,关于LINQ TO DATASET返回两个DATAROW集的问题

wesheng 2012-09-08 09:09:18
实例:
原先的系统是通过dbHelper获得两个DataTable dtItem和dtSubject,我现在需要做二次开发,但对LINQ不是太熟,其中
var valu = from item in dtItem.AsEnumerable()
join subject in dtSubject.AsEnumerable() on item.Field<string>("SubMark") equals subject.Field<string>("SubMark")
where subject.Field<bool>("SubIsDeleted") == false
select new { item, subject };

以上LINQ查询语句中,我如何不用foreach直接把item和subject转成DataTable
...全文
142 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wesheng 2012-09-09
  • 打赏
  • 举报
回复
谢谢各位,foreach的方法我是知道的,不过这样如果数量大的话会不会影响效率
Jia_H 2012-09-08
  • 打赏
  • 举报
回复

DataTable dtItem2 = dtItem.Clone();
DataTable dtSubject2 = dtSubject.Clone();

foreach(var n in valu)
{
dtItem2.Rows.Add(n.item);
dtSubject2.Rows.Add(n.subject);
}

wesheng 2012-09-08
  • 打赏
  • 举报
回复
没有像CopyToDataTable()这种便捷的方法吗
threenewbee 2012-09-08
  • 打赏
  • 举报
回复
DataTable dt = new DataTable();
dt.Columns.Add("item");
dt.Columns.Add("subject");
valu.ToList().ForEach(x => dt.Rows.Add(x.item["字段名1"].ToString(), x.subject));

只是举例,你照着写
wesheng 2012-09-08
  • 打赏
  • 举报
回复
谢谢caozhy,我这里的item,subject是DataRow集合,并不是两个字段,正如

var valu = from item in dtItem.AsEnumerable()
join subject in dtSubject.AsEnumerable() on item.Field<string>("SubMark") equals subject.Field<string>("SubMark")
where subject.Field<bool>("SubIsDeleted") == false
select item;

中的item一样
threenewbee 2012-09-08
  • 打赏
  • 举报
回复
DataTable dt = new DataTable();
dt.Columns.Add("item");
dt.Columns.Add("subject");
valu.ToList().ForEach(x => dt.Rows.Add(x.item, x.subject));

8,493

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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