Automapper ile bir özellik eşleme görmezden
Automapper kullanıyorum ve şu senaryo var: Sınıf OrderModel bir özellik 'ProductName' (veritabanı değil.çağırdı İle eşleştirme yapmaya çalıştığımda:
Mapper.CreateMap<OrderModel, Orders>();
Bir istisna oluşturur :
"Proje hakkında şu 1 özellikleri.ViewModels.OrderModel eşleştirilmemiş: '' . ProductName
AutoMapper's Wiki for Projections karşı dava (ek özniteliği aslında benim durumumda olan kaynak hedef değil) okudum
Nasıl bu özellik eşleştirme yapmak için automapper kurtulabilir miyim?
CEVAP
Mükemmeliyetçi sayılırım belki de; gerçekten ForMember sevmiyorum(..., x =>x.() Göz ardı) sözdizimi. Küçük bir şey, ama benim için önemli. Bu uzantı yöntemi biraz daha güzel yapmak için yazdım:
public static IMappingExpression<TSource, TDestination> Ignore<TSource, TDestination>(
this IMappingExpression<TSource, TDestination> map,
Expression<Func<TDestination, object>> selector)
{
map.ForMember(selector, config => config.Ignore());
return map;
}
Böyle kullanılabilir:
Mapper.CreateMap<JsonRecord, DatabaseRecord>()
.Ignore(record => record.Field)
.Ignore(record => record.AnotherField)
.Ignore(record => record.Etc);
Ayrıca params
, çalışmak yazabilirsiniz ama Lambda yükleri olan bir yöntem görünümünü sevmiyorum.
Automapper: yeni bir nesne oluşturmada...
C# numaralama için adlandırma ve özell...
Nasıl sınıf explorer olmadan bir özell...
JavaScript string özellik değeri nesne...
Nasıl SVN ile bir dizin görmezden?...