मैं अपने ऑब्जेक्ट्स को ऑटोमैपर के साथ डीटीओ में मैप करता हूं।ऑटोमैपर शून्य गुण
Mapper.Map<OrderItem, OrderItemDTO>(item)
Missing type map configuration or unsupported mapping.
मैं अपने ऑब्जेक्ट्स को ऑटोमैपर के साथ डीटीओ में मैप करता हूं।ऑटोमैपर शून्य गुण
Mapper.Map<OrderItem, OrderItemDTO>(item)
Missing type map configuration or unsupported mapping.
बिना अपने मानचित्रण कोड भी देखा है यह वास्तव में क्या गलत हो रहा है कहना मुश्किल है, लेकिन मेरा अनुमान है कि यह है:
public class OrderItem : BaseDomain
{
public virtual Version Version { get; set; }
public virtual int Quantity { get; set; }
}
[DataContract]
[Serializable]
public class OrderItemDTO
{
[DataMember]
public int Id { get; set; }
[DataMember]
public string Guid { get; set; }
[DataMember]
public virtual int? VersionId { get; set; }
[DataMember]
public virtual string VersionName { get; set; }
[DataMember]
public virtual int Quantity { get; set; }
}
तो जब मैं अशक्त संस्करण के साथ OrderItem है, मैं एक अपवाद पर मिल आप निम्न के समान कोड के साथ अपने प्रकार मानचित्रण कर रहे हैं:
Mapper.CreateMap<OrderItem, OrderItemDTO>()
.ForMember(dest => dest.VersionId, options => options.MapFrom(orderitem => orderitem.Version.VersionId))
.ForMember(dest => dest.VersionName, options => options.MapFrom(orderitem => orderitem.Version.VersionName))
;
कोड ऊपर असफल हो जायेगी जब OrderItem.Version
रिक्त है। इसे रोकने के लिए आप ForMember
पर भेजे गए प्रतिनिधियों में शून्य की जांच कर सकते हैं:
Mapper.CreateMap<OrderItem, OrderItemDTO>()
.ForMember(dest => dest.VersionId, options => options.MapFrom(orderitem => orderitem.Version == null ? (int?) null : orderitem.Version.VersionId))
.ForMember(dest => dest.VersionName, options => options.MapFrom(orderitem => orderitem.Version == null ? null : orderitem.Version.VersionName))
;
मैंने सोचा था कि automapper शून्य गुणों को संभालने के लिए पर्याप्त स्मार्ट होगा – Jordan
@ जोर्डन: जब आप उपरोक्त उदाहरण में अपनी संरचना को फ़्लैट करने के लिए अपना स्वयं का मैपिंग बनाते हैं, जहां आप लैम्ब्डा "ऑर्डरिटम => ऑर्डरिटम.वर्सियन.विर्सियनआईडी" और ऑर्डरिटम का उपयोग करते हैं। वर्जन शून्य है, ऑटोमैपर का पता लगाने का कोई तरीका नहीं है कि लैम्ब्डा में कोई समस्या है। –
आप किस संस्करण का उपयोग कर रहे हैं? –
क्या आप कोड पोस्ट कर सकते हैं जहां आप मैपिंग बनाते हैं? –