如何强制AutoMapper受到很大限制?

时间:2018-11-25 10:39:13

标签: c# automapper

这里是一个例子:

class Source
{
    public int Value_1 { get; set; }
    public int Value_2 { get; set; }
    public int MissedValue { get; set; }
}

class Destination
{
    public int Value_1 { get; set; }
    public int Value_2 { get; set; }
}

void Main()
{
    var config = new AutoMapper.MapperConfiguration(cfg =>
    {
        cfg.CreateMap<Source, Destination>()
            .ForMember(dst => dst.Value_1, m => m.MapFrom(src => src.Value_1))
            .ForMember(dst => dst.Value_2, m => m.MapFrom(src => src.Value_2))
        ;
    });

    config.AssertConfigurationIsValid();
}

最后,当我缺少 Source 字段而不仅仅是目标字段时,我需要AssertConfigurationIsValid()引发异常。

此外,如何强制其禁用任何类型和命名转换?如int->字符串,Test.Id-> TestId等。 我需要尽可能限制它。还是我的情况有更好的选择?

UPDATE_0: 好。找到了第一部分的答案。 只需使用

cfg.CreateMap<Source, Destination>(AutoMapper.MemberList.Source)

同时支持这两种验证类型将是很棒的,但这已经是一个好的开始。 现在剩下的是如何删除所有命名约定和类型转换器。

0 个答案:

没有答案