kfo*_*eck 4 c# linq datatable join linq-to-dataset
所以我有两个具有相同模式但数据不同的DataTable.我想将两个表连接在一起,其中两个字段,id3和print相同.我如何在LINQ中写这个?
现在,这工作并没有给出编译器错误:
var singOneJoin =
from prod in singOneProd.Table.AsEnumerable()
join agg in singOneAgg.Table.AsEnumerable()
on prod.Field<string>("print") equals agg.Field<string>("print")
select new
{
print = prod.Field<string>("print")
};
Run Code Online (Sandbox Code Playgroud)
但我真正想要的是:
var singOneJoin =
from prod in singOneProd.Table.AsEnumerable()
join agg in singOneAgg.Table.AsEnumerable()
on (prod.Field<string>("print") equals agg.Field<string>("print") &&
prod.Field<Int32>("id3") equals agg.Field<Int32><("id3"))
select new
{
print = prod.Field<string>("print")
};
Run Code Online (Sandbox Code Playgroud)
但这给了我编译错误.
如何在print和id3列上将这两个表连接在一起?
问候,
凯尔
Ser*_*kiy 12
使用匿名对象加入多个字段:
var singOneJoin =
from prod in singOneProd.Table.AsEnumerable()
join agg in singOneAgg.Table.AsEnumerable()
on new {
Print = prod.Field<string>("print"),
Id3 = prod.Field<Int32>("id3")
} equals new {
Print = agg.Field<string>("print"),
Id3 = agg.Field<Int32>("id3")
}
select new {
print = prod.Field<string>("print")
};
Run Code Online (Sandbox Code Playgroud)
请记住,匿名对象属性名称应匹配.
| 归档时间: |
|
| 查看次数: |
9478 次 |
| 最近记录: |