如何在C#.net mvc 5中打印产品旁边的发布版本列表?
假设我有一个这样的数据库如何在C#.net mvc 5中打印产品旁边的发布版本列表?,c#,.net,asp.net-mvc,razor,asp.net-mvc-5,C#,.net,Asp.net Mvc,Razor,Asp.net Mvc 5,假设我有一个这样的数据库 Product Version a 1.2 a 1.3 a 1.4 a 1.5 b 1.1 b 1.2 c 1.0 我想在视图中将其打印为 **a** 1.2, 1.3, 1.4 1.5 **b** 1.1, 1.2 **c** 1.0 我能够获得产品和版本,但在数据库格式的旁边。如何根据需要打印输出。请帮助列出产品= List&
Product Version
a 1.2
a 1.3
a 1.4
a 1.5
b 1.1
b 1.2
c 1.0
我想在视图中将其打印为
**a** 1.2, 1.3, 1.4 1.5
**b** 1.1, 1.2
**c** 1.0
我能够获得产品和版本,但在数据库格式的旁边。如何根据需要打印输出。请帮助列出产品=
List<ProductVersion> Products=
listOfProducts.GroupBy(x=>x.Product)
.Select(y=>new ProductVersion{
productId = y.Key
, version = y.SelectMany(x=>x. version).ToList()
});
产品列表.GroupBy(x=>x.Product)
.选择(y=>新产品版本{
productId=y.Key
,version=y.SelectMany(x=>x.version).ToList()
});
您确定EF能够将其转换为SQL吗?也许OP必须先加载内存中的所有行,然后才能聚合它们。此外,这将生成一个“version”的子列表,而不是OP请求的单个字符串;对或具有聚合功能。但要点仍然是一样的:这对于LINQto对象来说是可以的,但是对于DB来说它不能直接使用。OP不清楚这个要求,我们甚至不确定他是否使用实体框架,但第一篇文章明确说明了DB。但是,如果数据集很少,他将在LINQtoObjects中执行此操作,您的查询确实对他有用。