2009-11-24 20 views
21

मैं इस तरह एक साधारण मॉडल है: "संपत्ति OrderLineDtos:सी # automapper नेस्टेड संग्रह

Mapper.CreateMap<Order, OrderDto>(); 
    Mapper.CreateMap<OrderLine, OrderLineDto>(); 
    Mapper.AssertConfigurationIsValid(); 

यह एक अपवाद है कि कहते हैं फेंक:

public class Order{ 
    public int Id { get; set; } 
    ... ... 
    public IList<OrderLine> OrderLines { get; set; } 
} 

public class OrderLine{ 
    public int Id { get; set; } 
    public Order ParentOrder { get; set; } 
    ... ... 
} 

क्या मैं Automapper के साथ क्या यह है ऑर्डर डॉट में मैप नहीं किया गया है, कस्टम मैपिंग जोड़ें ... " जैसा कि हम अपने डोमेन और हमारे डोमेन डॉट में कस्टम सिंटैक्स का उपयोग करते हैं, मैं कैसे निर्दिष्ट कर सकता हूं कि ऑर्डर में ऑर्डरलाइन ऑर्डरलाइन ऑर्डरलाइन ऑर्डरलाइन से मेल खाता है?

Mapper.CreateMap<Order, OrderDto>() 
     .ForMember(dest => dest.OrderLineDtos, opt => opt.MapFrom(src => src.OrderLines)); 
    Mapper.CreateMap<OrderLine, OrderLineDto>() 
     .ForMember(dest => dest.ParentOrderDto, opt => opt.MapFrom(src => src.ParentOrder)); 
    Mapper.AssertConfigurationIsValid(); 
+1

क्या आपने ऑर्डर मैपिंग से पहले ऑर्डरलाइन CreateMap डालने का प्रयास किया है? – Lazarus

+0

मुझे यह – Raffaeu

+1

आज़माएं नहीं, क्या आप अपनी डीटीओ की तरह दिख सकते हैं? और आपके द्वारा उपयोग किए जाने वाले कस्टम वाक्यविन्यास का एक उदाहरण? हमें आपको कस्टम मैपिंग का उदाहरण प्रदान करने की आवश्यकता होगी। – jamesaharvey

उत्तर

21

यह इस तरह से काम करता धन्यवाद। आपके डीटीओ में, आपके पास "ऑर्डरलाइन डॉटोस" के रूप में आपके संग्रह का नाम है, लेकिन ऑर्डर ऑब्जेक्ट में, यह केवल "ऑर्डरलाइन" है। यदि आप ऑर्डरलाइन Dtos और ParentOrderD संपत्ति नामों के "Dtos" भाग को हटाते हैं, तो यह सब मेल खाना चाहिए।

+6

क्या आप जानते थे कि आप अपनी प्रतिष्ठा के बावजूद अपनी मूल पोस्ट को संपादित कर सकते हैं? मूल प्रश्न में कोई भी जानकारी अपडेट रखना हमेशा अच्छा होता है। –

8

नेस्टेड संग्रह काम करते हैं, जब तक कि नाम से मेल:

आप

+1

तो, क्या इसका मतलब यह है कि विभिन्न वर्ग प्रकारों के नेस्टेड संग्रह मैपिंग वर्तमान में काम नहीं कर रहे हैं? कभी-कभी घोंसला वाली वस्तु एक व्यूमोडेल होती है और इसमें गुण होते हैं जिन्हें अलग-अलग मैप किए जाने की आवश्यकता होती है। धन्यवाद! – Abe

+0

क्या यह टीडीस्टिनेशन में परिभाषित एक ही ठोस आईसीलेक्शन/आईएलआईस्ट प्रकार का उपयोग करेगा? – Monstieur

+0

@ जिमी बोगर्ड: कई बार नेस्टेड ऑब्जेक्ट स्वयं एक डीटीओ या व्यूमोडेल है। – Kamran

संबंधित मुद्दे