我想做这样的事情:
DataTable q = from c in customers
join o in orders on c.Key equals o.Key
into outer
from j in outer.DefaultIfEmpty()
select new { c.*, j.* };
Run Code Online (Sandbox Code Playgroud)
我目前最接近的是以下内容:
var q = from c in customers
join o in orders on c.Key equals o.Key
into outer
from j in outer.DefaultIfEmpty()
select new { c, j };
Run Code Online (Sandbox Code Playgroud)
我希望我的结果(q)包含c和j中的所有列.c和j都包含很多列,所以我宁愿不列出它们:
select new { c.col1, c.col2, etc. }
Run Code Online (Sandbox Code Playgroud)
但我基本上希望最终的DataTable由c.*和j.*组成.
如果我在'select new'中指定所有c和j列,那么这个答案(不是接受的答案,而是它下面的答案)是有效的: 如何将LINQ结果转换为DATATABLE? 但我想避免列出所有内容.
我有以下LINQ查询:
var query =
(from p in obj1
group p by p.objID into g
let totalSum = g.Sum(p => p.ObjPrice)
select new { MyObjectID = g.Key, totalSum })
.Max(g => g.totalSum);
Run Code Online (Sandbox Code Playgroud)
我想以最高价格选择对象的对象ID和价格.我怎样才能做到这一点?