如何从结果集中选择列值列表(作为不同的列表)并放入列表中?
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
答案 0 :(得分:1)
由于您只需要不同的名称列表,因此可以投影到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;}
}