エラーはいつ発生しますか?電話する時ですAssertConfigurationIsValid
か?
はいの場合は、このメソッドを呼び出さないでください
このメソッドを呼び出す必要はありません。機能する次のマッピングを検討してください。
public class Foo1
{
public string Field1 { get; set; }
}
public class Foo2
{
public string Field1 { get; set; }
public string Field2 { get; set; }
}
Mapper.CreateMap<Foo1, Foo2>();
var foo1 = new Foo1() {Field1 = "field1"};
var foo2 = new Foo2();
Mapper.Map(foo1, foo2);//maps correctly, no Exception
他のマッピングを呼び出しAssertConfigurationIsValid
て、それらが正しいことを確認することもできます。代わりに、マッピングをプロファイルに整理する必要があります。
public class MyMappedClassesProfile: Profile
{
protected override void Configure()
{
CreateMap<Foo1, Foo2>();
//nb, make sure you call this.CreateMap and NOT Mapper.CreateMap
//I made this mistake when migrating 'static' mappings to a Profile.
}
}
Mapper.AddProfile<MyMappedClassesProfile>();
次に、マッピングの有効性を確認する場合(状況に応じてケースバイケースで)、
Mapper.AssertConfigurationIsValid(typeof(MyMappedClassesProfile).FullName);
重要なのは、電話をかけない場合や、電話をかけない場合は、 AutoFixtureや単体テストAssertConfigurationIsValid
などを使用してマッピングが機能していることを確認する必要があります。(これはの意図です)AssertConfigurationIsValid