如何告诉Automapper检查所有源属性是否都有目标属性

时间:2013-05-10 12:48:08

标签: c# validation mapping automapper automapper-2

我们有两个班级:

public class Foo
{
    public int A { get; set; }
    public int B { get; set; }
    public int C { get; set; }
}

public class Bar
{
    public int A { get; set; }
    public int B { get; set; }
} 

和映射配置

 Mapper.CreateMap<Foo, Bar>;

Automapper是否有可能自动检查所有源属性是否具有相应的目标属性,在我的示例中抛出异常,通知我们 Foo.C 属性未映射到任何内容。 Mapper.AssertConfigurationIsValid()仅检查相反的方向 - 所有目标属性都有源属性,因此在我的情况下它没有帮助。

1 个答案:

答案 0 :(得分:2)

也许你可以使用hack并在另一个方向测试映射。类似的东西:

Mapper.CreateMap<Bar, Foo>; // Swap the direction of the mapping
Mapper.AssertConfigurationIsValid()

我知道这不是理想的,但可以是一个快速解决方案。