我在我的应用程序中使用EntityFramework 4.0
。我有一个以int
为参数的存储过程。我已使用Entity Framework将此proc作为函数导入导入到我的应用程序中。这个过程给我两个栏目Name
和Number
。我正在使用LINQ查询
var availName = dataContext.sp_GetAvailable(1).ToList().GroupBy(x => x.TXT_NAME).Select(x => new { Name= x.Key, Communication = string.Join(",", x) });
它将Name
分组,但Value返回为过程名称,即。 Communication = string.Join(",", x)
次通信会将sp_GetAvailable
作为值返回。
我错过了什么?
答案 0 :(得分:2)
GroupBy返回IEnumerable IGrouping有 x.Key类型的键 和 IEnumerable类型的值,其中T是x的类型(不是字符串)
为了得到你想要的东西你应该使用:
var availName = dataContext.sp_GetAvailable(1).ToList().GroupBy(x => x.TXT_NAME).Select(x => new { Name= x.Key, Communication = string.Join(",", x.Select(c=>c.Number)) })