NHibernate के साथ मैं अब, मेरे डोमेन वस्तुओं पर विदेशी कुंजी का खुलासा तो उत्पाद अब एक संपत्ति है:ASP.NET MVC NHibernate मॉडल बाइंडिंग
public int CategoryId {get;set;}
लेकिन इसके बजाय है:
public Category Category {get;set;}
Unforunately यह एएसपी.नेट एमवीसी में स्वचालित मॉडल बाध्यकारी के साथ इतना अच्छा काम नहीं करता है - अगर मैं सीधे अपने डोमेन ऑब्जेक्ट पर एक फॉर्म संग्रह को बांधना चाहता हूं।
उदाहरण के लिए, मेरे पास मेरे दृश्य में केवल श्रेणी आईडी मानों की एक चयन सूची नहीं हो सकती है, मेरे नियंत्रक कार्रवाई में एक उत्पाद ऑब्जेक्ट स्वीकार करें, और उम्मीद है कि एमवीसी इसे एक श्रेणी वस्तु में परिवर्तित कर देगा।
मेरे समाधान अब तक दृश्य मॉडल विदेशी कुंजी मान के लिए गुण है बनाने के लिए किया गया है - हालांकि, यह सामान्य रूप से एक निष्पक्ष मेरी नियंत्रक में कोड और अतिरिक्त मानचित्रण तर्क में दोहराव की बिट की ओर जाता है।
क्या कोई बेहतर तरीका है?
मुझे पता है कि यह अनुशंसित दृष्टिकोण है लेकिन कभी-कभी यह आवश्यक नहीं है। मेरे पास तीन गुणों के साथ एक साधारण डोमेन ऑब्जेक्ट है - बस इतना आसान काम करने के लिए बहुत कुछ अतिरिक्त काम लगता है। –
@ बेन - प्रसिद्ध अंतिम शब्द .. गंभीरता से हालांकि, ऑटोमैपर यह मामूली बनाता है, एक बार जब आप अपने डोमेन मॉडल और अपने दृश्य मॉडल के बीच किसी प्रकार का डिस्कनेक्ट करना शुरू कर देते हैं तो आप इस मार्ग पर जाने के लिए स्वयं को धन्यवाद देंगे ... – DanP
और मेरे पास है कुछ त्वरित और गंदे चाहते हैं :) - ऑटोमैपर सर्वश्रेष्ठ शर्त लग रहा है और सुझाए गए कुछ अन्य समाधानों के आधार पर, विशिष्ट दृश्य मॉडल सरल वस्तुओं पर भी सबसे साफ दृष्टिकोण प्रतीत होता है। –