Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to tell Automapper to check if all source properties have destination properties

We have two classes:

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; }
} 

and mapping configuration

 Mapper.CreateMap<Foo, Bar>;

Is there some possibility for Automapper to check automatically that all source properties have corresponding destination properties, in my example throwing an exception which notifies us about Foo.C property not mapped to anything. Mapper.AssertConfigurationIsValid() checks only the other way round - that all destination properties have source properties so it doesn't help in my case.

like image 476
jjjjj Avatar asked May 10 '13 12:05

jjjjj


1 Answers

Maybe you can use a hack and test the mapping in the other direction. Something like:

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

I know it isn't ideal but could be a quick solution.

like image 52
Camilo Martinez Avatar answered Sep 21 '22 16:09

Camilo Martinez