4

考虑一个包含名称的数据库表,其中包含三行:

SubjectID      StudentName
---------      -------------
 1             Peter
 2             Paul
 2             Mary

有没有一种简单的方法可以将其转换为实体框架中的单个字符串?像这样的东西:

SubjectID       StudentName
----------      -------------
1               Peter
2               Paul, Mary

检查此链接以获取更多信息。

4

1 回答 1

6

您可以使用GroupBy按主题对学生进行分组:

var result = StudentSubjects
                .GroupBy(x => x.SubjectID)
                .Select(x => new 
                    { 
                        Subject = x.Key, 
                        Names = String.Join(", ", x.Select(n => n.Name)) 
                    });

我使用String.Join连接名称列表。

于 2013-05-28T12:45:06.993 回答