数据中字段的值用逗号分隔,但是在展示时,要分成2条或者多条记录

结构

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();

posted @ 2025-02-18 20:56  悟自省  阅读(16)  评论(0)    收藏  举报