Automap कैसे मैं इसइस (मानचित्रण उप सदस्य)
public class ProductViewModel
{
public int SelectedProductId { get; set; }
public string ProductName {get; set;}
public int Qty {get; set;}
public List<SelectListItem> Products { get; set};
}
मैं इस
public class Product
{
public int ProductId {get; set;}
public string ProductName {get; set;}
public int Qty {get; set;}
}
public class Store
{
public Product() {get; set;}
}
की तरह एक डोमेन अब मैं मानचित्रण करने की जरूरत है की तरह कुछ है।
// मेरी नियंत्रक में
var result = Mapper.Map<ProductViewModel, Store>(Product);
इस कुछ भी बाध्य नहीं करेगा क्योंकि इसमें को समझ नहीं सकता कैसे में के बाद से यह
Store.Product.ProductId;
मेरे मानचित्र की तरह है productId डाल करने के लिए इस
Mapper.CreateMap<ProductViewModel, Store>().ForMember(dest => dest.Product.ProductId, opt => opt.MapFrom(src => src.SelectedProductId));
मैं इस त्रुटि मिलती है
अभिव्यक्ति 'dest => कनवर्ट करें (dest.Product.SelectedProductId' शीर्ष-स्तरीय सदस्य को हल करना चाहिए। पैरामीटर नाम: lambdaExpression
मुझे यह सुनिश्चित नहीं है कि यह कैसे करें।
क्या आप अपना कोड ठीक कर सकते हैं? आपको वहां बहुत सारी त्रुटियां हैं। उदाहरण के लिए, 'पब्लिक क्लास माईटेस्ट() 'वैध वर्ग घोषणा नहीं है, और' सार्वजनिक MyTest() {get; सेट;} 'वैध संपत्ति घोषणा नहीं है। –
क्या आप जानबूझकर अपने व्यू मॉडल से अपने डोमेन क्लास में मानचित्रण कर रहे हैं? Automappers लोगों द्वारा इसकी अनुशंसा नहीं की जाती है। –
@ ब्रायन - हां। क्यों नहीं? मेरा मतलब है कि मैंने सोचा कि ऑटो मैपर का पूरा बिंदु है। अन्यथा मुझे ऑटो मैपर के उद्देश्य को हराकर हाथ से सारी चीजें बनाना है। फिर मैं हाथ से मॉडल देखने के लिए डोमेन को मानचित्र भी कर सकता हूं। – chobo2