如何在C#中对重复的查询结果进行分组?

时间:2018-05-23 17:26:40

标签: c# sql-server

我在SQL Server中有这个查询结果: enter image description here

但我想将这些值分组:

  • 姓名:Isaias Orozco Toledo
  • 生日:1993-07-25
  • 类型:Abastecimiento
  • ...
  • ...
  • ...
  • 类型:Inventario en Punto de Re-Orden,InventarioInventarioMínimo

也就是说,将重复的查询结果转换为一个查询结果。

我有这样的事情:

var getUsuarios = _context
                  .LoadStoredProc("General.GetUsuarios_Personal")
                  .ExecuteStoredProc<GetPersonalDTO>();

string[] vector = getUsuarios.Select(x => x.Alerta).ToArray();
var join = string.Join(',', vector);

我的数据库中有其他行,但显而易见,返回相同的值,但使用逗号:'','',

我想知道我是否可以这样做,以及如何做到。

2 个答案:

答案 0 :(得分:1)

您可以使用GroupBy命名空间中的System.Linq

var getUsuarios = _context
    .LoadStoredProc("General.GetUsuarios_Personal")
    .ExecuteStoredProc<GetPersonalDTO>();

var vector = getUsuarios.GroupBy(x => x.Name, x => x.Alerta);

答案 1 :(得分:0)

您可以按“主要对象标识符”进行分组,我猜这个用户。

string[] vector = getUsuarios.Select(x => x.Alerta).GroupBy(
    x => x.YourObjectIdentifiedGoesHere).ToArray();