MVC3 / LINQ / EF4.1 выбрать различные значения col из набора результатов? - PullRequest
0 голосов
/ 26 сентября 2011

Как выбрать список значений столбцов из набора результатов (как отдельные) и поместить в список?

class T {int id; string name;}

- Контроллер ...

var query = @"exec someStoredProc";
IEnumerable<T> bb =
 db2.Database.SqlQuery<T>(query);    

// Something like???:
List<string> Names = bb.SelectDistinct("name");  // returns distinct list of names from result set

1 Ответ

1 голос
/ 26 сентября 2011

Поскольку вам нужен только отдельный список имен, вы можете проецировать на свойство name и просто использовать Distinct():

List<string> Names = bb.Select( x=> x.name)
                       .Distinct()
                       .ToList();

Это требует, чтобы вы сделали свойство name общедоступным, также я бы переосмыслил имя вашего класса T, как насчет CustomerName (или что-то еще достаточно выразительное, чтобы вы знали, что это значит)?

public class CustomerName 
{
  public int id{get;set;}
  public string name {get;set;}
}
...