SORU
5 HAZİRAN 2009, Cuma


&Quot;boşver"?AutoMapper:

Bir şekilde açıkça eşlenen olanlar hariç tüm özellikler görmezden AutoMapper söyleyecek var mı?

Ben dış DTO sınıflar vardır muhtemelen bir değişiklik yok ve ben önlemek istiyorsanız belirten her özellik göz ardı etmek, açıkça, bu yana ekleyerek yeni özellikler iradesini kırmak işlevselliği (neden istisnalar) zaman çalışıyor göster onlara kendim nesneler.

CEVAP
24 HAZİRAN 2011, Cuma


Can Gencer herhangi bir mevcut haritalar üzerine uzatma güncelledik.

public static IMappingExpression<TSource, TDestination> 
    IgnoreAllNonExisting<TSource, TDestination>(this IMappingExpression<TSource, TDestination> expression)
{
    var sourceType = typeof (TSource);
    var destinationType = typeof (TDestination);
    var existingMaps = Mapper.GetAllTypeMaps().First(x => x.SourceType.Equals(sourceType) && x.DestinationType.Equals(destinationType));
    foreach (var property in existingMaps.GetUnmappedPropertyNames())
    {
        expression.ForMember(property, opt => opt.Ignore());
    }
    return expression;
}

Kullanımı:

Mapper.CreateMap<SourceType, DestinationType>()
                .ForMember(prop => x.Property, opt => opt.MapFrom(src => src.OtherProperty))
                .IgnoreAllNonExisting();

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • MkElite

    MkElite

    13 NİSAN 2012
  • Sergio Lafuente Rubio

    Sergio Lafue

    11 Aralık 2008
  • Sorikan

    Sorikan

    3 ŞUBAT 2008