SORU
14 ŞUBAT 2011, PAZARTESİ


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
29 Mayıs 2013, ÇARŞAMBA


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ammine Getahun

    Ammine Getah

    21 HAZİRAN 2011
  • DroidModderX ROOT Master

    DroidModderX

    14 ŞUBAT 2011
  • Māris Zaharovs

    Māris Zahar

    28 Mayıs 2008