求救,关于LINQ TO DATASET返回两个DATAROW集的问题
实例:
原先的系统是通过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
------最佳解决方案--------------------DataTable dt = new DataTable();
dt.Columns.Add("item");
dt.Columns.Add("subject");
valu.ToList().ForEach(x => dt.Rows.Add(x.item, x.subject));
------其他解决方案--------------------
DataTable dtItem2 = dtItem.Clone();
DataTable dtSubject2 = dtSubject.Clone();
foreach(var n in valu)
{
dtItem2.Rows.Add(n.item);
dtSubject2.Rows.Add(n.subject);
}
------其他解决方案--------------------谢谢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一样
------其他解决方案--------------------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));
只是举例,你照着写
------其他解决方案--------------------没有像CopyToDataTable()这种便捷的方法吗
------其他解决方案--------------------谢谢各位,foreach的方法我是知道的,不过这样如果数量大的话会不会影响效率