我有一个格式的数据集:
ID Make Model
== ========= =========
1 Ford Fusion
2 Ford Fusion
3 Chevy Malibu
我希望结果为:
Make Model IDs
======== ========= ===
Ford Fusion IEnumerable<int> {1,2}
Chevy Malibu IEnumerable<int> {3}
我正在在网格中实现多行编辑,因此我需要在显示要编辑的不同属性时保存每行的ID。完成编辑后,我将拥有IDS更新。
我想知道是否有一种方法可以将这些ID与单个LINQ查询进行整理。目前,我已经成功了,但是有两个查询。
一个简单的组应起作用:
var query=from c in cars
group c.Id by new {c.Make,c.Model} into g
select new {g.Key.Make, g.Key.Model, Ids=g.ToList() };
您可以尝试这样的事情:
var results = context.Cars
.GroupBy(c => new { c.Make, c.Model })
.Select(g => new
{
Make = g.Key.Make,
Model = g.Key.Model,
IDs = g.Select(c => c.ID)
});