Bugün AutoMapper v1.1'i kullanmak için AutoMapper v1.1'i kullanan tam işlevli bir uygulamayı yükselttim ve önceki sürümle karşılaşmadığım bazı sorunlarla karşılaşıyorum. Ben v2.1 karşılaşılan ilk sorun oldu Ancak burada Yanlış yapılandırıcıyı kullanarak AutoMapper
... geri den Dto Domain nesnepublic class TypeOne
{
public TypeOne()
{
}
public TypeOne(TypeTwo two)
{
//throw ex if two is null
}
public TypeOne(TypeTwo two, TypeThree three)
{
//throw ex if two or three are null
}
public TypeTwo Two {get; private set;}
public TypeThree Three {get; private set;}
}
public class TypeOneDto
{
public TypeOneDto()
{
}
public TypeTwoDto Two {get; set;}
public TypeThreeDto Three {get; set;}
}
için
Mapper.CreateMap<TypeThreeDto, TypeThree>();
Mapper.CreateMap<TypeTwoDto, TypeTwo>();
Mapper.CreateMap<TypeOneDto, TypeOne>();
var typeOne = Mapper.Map<TypeOne>(typeOneDto);
benim kod haritalama örneğidir AutoMapper, bu hatalardan birinin boş olduğu ve 1 arg kurucusunu kullanması gerektiğinde, yapıcıyı 2 args ile kullanmaya çalıştı.
SonraMapper.CreateMap<TypeOneDto, TypeOne>().ConstructUsing(x => new TypeOne());
kullanmaya çalıştı Ama çözemedi bir 'Muğlak İnvokasyon' uyarılarını tuttu.
Sonra
Mapper.CreateMap<TypeOneDto, TypeOne>().ConvertUsing(x => new TypeOne());
denenmiş ve başarıyla parametresiz kurucu kullanılarak TypeOne nesnesi oluşturmak ama o zaman özel ayarlayıcı özellikleri ayarlamak için başarısız oldu.
AutoMapper web sitesinde yardım aradım ve iyi bir görünüme sahip olmak için kaynak kodunu yükledim, ancak küçük belgelerle yetinmedim ve ConstructUsing için pek çok birim testi yapılmadı.
V2.1 ile değiştirmem gereken eksik bir şey var mı? V1.1'den çok değiştiğine şaşırdım.
olası yinelenen (http://stackoverflow.com/questions/2239143/automapper-how-to-map-to-constructor-parameters- yerine-yerine-setter) –
"ConstructUsing" kullanırken yukarıda bahsettiğim aynı hatayı alıyorum. Parametresiz kurucu ile yeni bir nesne oluşturduğumda "Belirsiz Çağırma". –