AutoMapper-将单个int映射到数组

时间:2018-12-31 15:53:56

标签: c# automapper

在一个旧数据库中,我有12个整数,表示12个月,我需要将它们映射到数组/列表。问题是我不确定如何将模型中的数组初始化为大小12,以进行映射。

这就是我想要做的:

型号:

public class Year 
{
    public int[] Months { get; set; }   //How do I initialize to 12?
}

映射:

CreateMap<DataRow, Year>()
            .ForMember(dest => dest.Months[0], opt => opt.MapFrom(src => src["Jan"]))
            .ForMember(dest => dest.Months[1], opt => opt.MapFrom(src => src["Feb"]))
            .ForMember(dest => dest.Months[2], opt => opt.MapFrom(src => src["Mar"]))

我到处都在搜索模型中的预初始化数组,但是在语法上找不到任何东西。

1 个答案:

答案 0 :(得分:1)

非常简单:

public class Year
{
    public int[] Months { get; } = new int[12];
}

我还建议删除setter,使其成为只读属性-不会更改在数组本身中设置单个项目的能力。