结构
var transcripts = new List<Transcript> {
new Transcript { Name = "小明,小贵", Score = 98 },
new Transcript { Name = "小红", Score = 97 } };
结果
[
{ Name = "小明", Score = 98 },
{ Name = "小贵", Score = 98 },
{ Name = "小红", Score = 97 }
]
解决方式
using AutoMapper;
// 配置 AutoMapper
var config = new MapperConfiguration(cfg => cfg.CreateMap<Transcript, Transcript>());
var mapper = config.CreateMapper();
var expandedTranscripts = transcripts
.SelectMany(t => t.Name.Split(',')
.Select(name =>
{
var newTranscript = ObjectMapper.Map<Transcript>(t); // 复制对象
newTranscript.Name = name.Trim(); // 只修改 Name 字段
return newTranscript;
}))
.ToList();