我有以下 LINQ 示例:
var colorDistribution =
from product in ctx.Products
group product by product.Color
into productColors
select
new
{
Color = productColors.Key,
Count = productColors.Count()
};
所有这些都有效并且非常有意义。
我想要实现的是将 by 分组为强类型而不是匿名类型。
例如我有一个 ProductColour 类,我想分组到一个
List<ProductColour>
这可能吗?
谢谢
最佳答案
编辑:好的,我完全误读了你的帖子。从它的外观来看,您不想按不同的类型分组 - 您想将组的每个元素投影到不同的类型中。这是我要做的:
var colorDistributionSql =
from product in ctx.Products
group product by product.Color
into productColors
select
new
{
Color = productColors.Key,
Count = productColors.Count()
};
var colorDistributionList = colorDistributionSql
.AsEnumerable()
.Select(x => new ProductColour(x.Color, x.Count))
.ToList();
关于c# - LINQ Group By 把项目改成非匿名类型?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2927618/