【发布时间】:2020-11-29 09:41:14
【问题描述】:
我有一个 Linq To SQL 结果,它是一个代表人员的对象列表。如果工作人员在多个地点注册,则存在重复的工作人员记录。在有多个员工记录的情况下,我需要在“位置”中用逗号分隔这些位置,以便我现在拥有一个员工记录。 这是选择语句:
staff = query...
select new UserModel
{
sourceId= stf.STAFF_GU,
location = loc.LOCATION_GU.ToString(),
userName = user.LOGIN_NAME,
email = person.EMAIL
}).ToList();
我不知道如何获得每个用户有一行的最终列表,并且位置是该用户位置的逗号列表。
我从 article 尝试了 JonSkeet 的解决方案,但我不知道如何将位置组转换为字符串列表。
var merged = staff.GroupBy(x => x.sourceId)
.Select(g => new UserModel
{
sourceId = g.Key,
userName = g.First().userName,
location = g.**DO_WHAT_TO_COMBINE_LOCATIONS**(x => x.location),
email = g.First().email
});
【问题讨论】: