具有重复键的对象列表将字段组合到逗号列表中
Posted
技术标签:
【中文标题】具有重复键的对象列表将字段组合到逗号列表中【英文标题】:List of objects with duplicate keys combine field into comma list 【发布时间】: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
);
【问题讨论】:
【参考方案1】:你可以使用string.Join()
方法大概喜欢
location = string.Join(",",g.Select(x => x.location))
【讨论】:
天哪。谢谢你。以上是关于具有重复键的对象列表将字段组合到逗号列表中的主要内容,如果未能解决你的问题,请参考以下文章