यह सुनिश्चित नहीं है कि शीर्षक समझ में आता है, लेकिन यह है कि मैं क्या कर रहा हूं। मैं अपने डीटीओ ऑब्जेक्ट्स और इसके विपरीत में अपनी इकाई फ्रेमवर्क इकाइयों को मैप करने के लिए ऑटोमैपर का उपयोग कर रहा हूं। मुद्दा तब आता है जब मैं डीटीओ डेटा को ईएफ इकाई में मैप करने का प्रयास करता हूं। EntityKey के लिए संपत्ति मानचित्रण की कोई संपत्ति नहीं है। इसे ठीक करने के लिए, मैं निम्नलिखित की तरह कुछ कार्य करें:ईएफ इकाइयों के लिए EntityKey मानों को मैप करने के लिए ऑटोमैपर के ValueResolver का उपयोग करने का एक सामान्य तरीका है?
Mapper.CreateMap<VideoDTO, Video>()
.ForMember(dest => dest.EntityKey, opt =>
opt.ResolveUsing<VideoEntityKeyResolver>());
VideoEntityKeyResolver वर्ग लगता है: अगर वहाँ जहाँ मैं 1 वर्ग हो सकता था ऐसा करने का एक अधिक सामान्य तरीका था
public class VideoEntityKeyResolver : ValueResolver<VideoDTO, EntityKey>
{
protected override EntityKey ResolveCore(VideoDTO source)
{
EntityKey key = new EntityKey("EntityFrameworkTestingEntities.Videos",
"VideoId", source.VideoId);
return key;
}
}
मैं सोच रहा था एक निर्माता के साथ जो एक निर्माता में इकाई सेट नाम, मुख्य संपत्ति का नाम, और कुंजी मान लेता है।
मैंने अपने डीटीओ ऑब्जेक्ट्स में केवल एंटीटीकी संपत्ति जोड़ने के बारे में सोचा है जो डीटीओ ऑब्जेक्ट्स बनाने के पूरे बिंदु के रूप में धाराओं को पार करने की तरह लगता है क्योंकि मेरे बाकी हिस्सों में मेरी डेटा परत से टाई गंभीर थी ।
एक पूरी तरह से असंबंधित नोट पर (यदि आवश्यक हो तो मैं एक नया प्रश्न बना सकता हूं), जहां ऑटोमैपर का उपयोग करते समय मुझे अपने मैपिंग को परिभाषित करने की ज़रूरत है? वर्तमान में मैं इसे अपने संदर्भ ऑब्जेक्ट (जो मेरा ईएफ रिपोजिटरी ऑब्जेक्ट है) के निर्माता में कर रहा हूं, लेकिन मेरा मानना है कि यह महंगा है और सही नहीं है, हालांकि, यह काम करता है।
विस्तृत प्रतिक्रिया के लिए धन्यवाद। इसमें से अधिकांश मेरे सिर पर है, लेकिन यह आपके से अधिक है। मैं अभी भी लैम्ब्डा के उपयोग के साथ कुश्ती कर रहा हूं। किसी भी तरह, क्या आपको पता है कि एक ऑटोमैपर विधि है जो आपको किसी संपत्ति के लिए गणना मूल्य को स्पष्ट रूप से असाइन करने की अनुमति देती है? यदि ऐसा है, तो मैं केवल आवश्यक पैरामीटर और मैप के साथ EntityKey ऑब्जेक्ट बना सकता हूं जो कि मेरी इकाई पर EntityKey प्रॉपर्टी के लिए मूल्य है। मैं MapFrom AutoMapper विधि को देख रहा था, लेकिन इसमें शामिल होने का समय नहीं था। – jason
मैं सुझाव देने जा रहा था कि एक सरल विधि के रूप में, लेकिन सीधे आपके प्रश्न का उत्तर देने का फैसला किया। मैं इसे उत्तर में जोड़ दूंगा। (साथ ही, यदि आप इसे अपनी आवश्यकताओं को पूरा करने के लिए पाते हैं तो वोट को वोट करना और/या स्वीकार करना न भूलें) – mkedobbs
इस प्रश्न पर ऊपर और परे जाने के लिए धन्यवाद। यह वास्तव में मेरी मदद की! मैं आगे बढ़ गया और एंटीटीकी संपत्ति में बस मैपिंग पर बस गया और ऐसा लगता है कि ऐसा काम करता है। – jason