列表到LINQ查询
我有一个数据库SP,返回的结果如下表所示列表到LINQ查询,linq,Linq,我有一个数据库SP,返回的结果如下表所示 ProductID ProductName Composition 1 PRod1 pc1 1 PRod1 pc11 2 PRod2 pc2 2 PRod2 pc22 1 Prod1 pc111 因为这是作为列表返回的,我有一个包含 PVM{productId,productName和List CO
ProductID ProductName Composition
1 PRod1 pc1
1 PRod1 pc11
2 PRod2 pc2
2 PRod2 pc22
1 Prod1 pc111
因为这是作为列表返回的,我有一个包含
PVM{productId,productName和List COMPORTIONVM}和compsotionVM{productId,COMPORTION}
我想从上述结果中提取一些信息
Result.Select(r =>new PVM{Id = r.Id,Name = r.ProductName, compsotionVM ).ToList()}).ToList();
i、 e.产品Id、产品名称和要绑定到视图的所有组件的列表。
任何帮助或建议都将是gr8帮助。您可以尝试以下查询:
result.GroupBy(item => new{item.ProductID, item.ProductName})
.Select(group =>
new PVM
{
ProductID = group.Key.ProductID,
ProductName= group.Key.ProductName,
Compositions =
group
.Select(g=>
new CompositionVM
{
ProductID = g.ProductID,
Composition = g.Composition
})
.ToList()
});
因为您希望通过组合组合(z)列将具有相同名称(x)和Id(y)的产品分组在一起
这里的想法是在主查询中根据2个组条件(x和y)进行分组,然后对于查询中的每个项,将是同一组中的项的组合,这允许您执行如下子查询
group
.Select(g=>
new CompositionVM
{
ProductID = g.ProductID,
Composition = g.Composition
})
.ToList()
张,感谢并感谢您的回复,时间会落实并看到的。