如何在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中执行此操作,您的查询确实对他有用。