entity framework 4 - EntityFramework: Excluding complex type from being added to table while inserting other complex type -
मेरे पास कुछ पोको कक्षाएं निम्नानुसार हैं:
सार्वजनिक वर्ग की जांच {सार्वजनिक गाइड इंक्वायरीड { प्राप्त; सेट; } सार्वजनिक गाइड स्वामी आईडी {प्राप्त करें; सेट; } सार्वजनिक उपयोगकर्ता स्वामी {प्राप्त; सेट; } सार्वजनिक स्ट्रिंग शीर्षक {get; सेट; } सार्वजनिक स्ट्रिंग विवरण {get; सेट; } सार्वजनिक दिनांक समय निर्माण तिथि {प्राप्त करें; सेट; } सार्वजनिक दिनांक समय संशोधन तिथि {get; सेट; } सार्वजनिक तिथि समय समाप्ति तिथि {प्राप्त; सेट; } सार्वजनिक दशमलव मैक्सपीस {प्राप्त; सेट; } सार्वजनिक सूची & lt; क्षेत्र & gt; क्षेत्र {प्राप्त करें; सेट; }} सार्वजनिक वर्ग क्षेत्र {सार्वजनिक गाइड क्षेत्र आईडी {प्राप्त; सेट; } सार्वजनिक स्ट्रिंग नाम {get; सेट; }} जैसा कि देखा जा सकता है, जांच और क्षेत्र - & gt; जांच में कई क्षेत्र हो सकते हैं अवधारणात्मक मॉडल निम्नानुसार है:
क्षेत्र आमतौर पर पूर्व निर्धारित मान डेटाबेस - 16 क्षेत्रों हैं। हालांकि, जांच में 1 या अधिक क्षेत्र हो सकते हैं। जब मैं नई जांच (जिसमें 1 या अधिक क्षेत्र शामिल हैं) बनाने का प्रयास करता हूं, तो मुझे निम्नलिखित अपवाद मिलता है:
प्राथमिक कुंजी प्रतिबंध 'पीके_आरिजन' का उल्लंघन वस्तु के बारे में 'dbo.regions
वस्तु में डुप्लिकेट कुंजी को सम्मिलित नहीं किया जा सकता है: जांच और क्षेत्र के बीच मेरे संबंध का प्रतिनिधित्व करने के लिए मेरे पास निम्न कॉलमों के साथ इनक्वायरीयेशन नामक तालिका है: <
क्षेत्रीय (एफके, अद्वितीय पहचानकर्ता, नल नहीं) (क्षेत्र की तालिका के संदर्भ में) इनक्योरिड (एफके, अनूइंट डिसिटीयर, रिक्त नहीं) मैं क्या करना चाहता हूं: जब नए जांच को डेटाबेस में जोड़ा जाता है, तब क्षेत्रों को तालिका में जोड़ने के बजाय क्षेत्र, इनक्वायरिरीगेशन तालिका में उपयुक्त पंक्तियों को जोड़कर क्षेत्रों को जांच कर।
मैं कैसे कर सकता हूं ईएफ को बताएं कि क्षेत्र क्षेत्रों को क्षेत्रों में जोड़ने के लिए?
मैंने मेरी समस्या का समाधान किया, शायद निम्न समाधान किसी की सहायता करें। सबसे पहले मुझे अपने इनक्वायरिफिकेशन डाटाबेस टेबल और कॉलम में प्राथमिक कुंजी को बदलना पड़ा:
InquiryID (पीके, एफके, अनूइंट डिसिटीयर, रिक्त नहीं) (जांच तालिका के संदर्भ) क्षेत्रीय (पीके, एफके और फिर मुझे स्पष्ट रूप से ईएफ को बता देना था कि क्षेत्र पहले से मौजूद हैं और उन्हें जोड़ने की कोई आवश्यकता नहीं है: < पूर्व> का उपयोग करते हुए (ApplicationEntities संदर्भ = नया applicationEntities) {foreach (पूछताछ में क्षेत्र। क्षेत्र) {संदर्भ। क्षेत्र। अटैक (क्षेत्र); }}
Comments
Post a Comment