首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Linq into子句仅返回连接表中的列

Linq into子句仅返回连接表中的列
EN

Stack Overflow用户
提问于 2019-06-05 23:52:21
回答 1查看 55关注 0票数 0

我基于EMP列连接了2个数据表,并使用了copytodatatable,但是当我将新的datatable加载到datagridview中时,它只显示了查询中连接的列(Salarydt),这是为什么?

代码语言:javascript
复制
 var collection = from p in dt.AsEnumerable()
                         join q in salaryDT.AsEnumerable() on p.Field<int>("Emp") equals q.Field<int>("Emp1") into UP
                         from t in UP
                         select t;
 DataTable resultdt = new DataTable();
 dt = collection.CopyToDataTable();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-06 02:53:05

DataTable本身非常适合使用它的Merge方法将自己与另一个数据表合并。下面是一个小例子:

代码语言:javascript
复制
var dt1 = new DataTable("a");
dt1.Columns.Add("ID", typeof(int));
dt1.Columns.Add("Item1", typeof(int));
dt1.PrimaryKey = new[] { dt1.Columns[0] };

var dt2 = new DataTable("a");
dt2.Columns.Add("ID", typeof(int));
dt2.Columns.Add("Item2", typeof(int));
dt2.PrimaryKey = new[] { dt2.Columns[0] };


for (int i = 0; i < 10; i++)
{
    dt1.Rows.Add(new object[] { i, i });
    dt2.Rows.Add(new object[] { i, i + 10 });
}

dt1.Merge(dt2);

现在dt1有三列:IDItem1Item2

代码语言:javascript
复制
ID  Item1   Item2
0   0       10
1   1       11
2   2       12
3   3       13
4   4       14
5   5       15
6   6       16
7   7       17
8   8       18
9   9       19
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56463998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档