public partial class Source()
{
...............
public string Assignees { get; set; }
...................
}
public partial class Destination
{
...............
public List<int> Resources { get; set; }
...................
}
我像这样映射这些类
Mapper.CreateMap<Source, Destination>().ForMember(x => x.DestID, y => y.MapFrom(z => z.SrcID));//Automapper version 4.2.1.0
我获得了所有值的预期结果,但问题出在Source中的字段 Assignees ,这是逗号分隔的字符串。它包含&#34; 1,4,6,8&#34;
等数据我的期望:
我希望他们在映射时转换为 int 列表。
请提供任何有价值的输入。谢谢。
答案 0 :(得分:2)
尝试使用方法在mapper类中解析:
Mapper.CreateMap<Source, Destination>()
.ForMember(x => x.Resources , y => y.MapFrom(z => getAssignees(z.Assignees)));
private List<int> getAssignees(string model)
{
if (string.IsNullOrEmpty(model))
{
return null;
}
return model.Split(',').Select(int.Parse).ToList();
}
答案 1 :(得分:0)
通常,要将string
转换为int
列表,我会使用Linq
:
var str = "1,2,3,4";
var lst = str.Split(',').Select(int.Parse).ToList();
您可以以任何方式使用该列表:)