2010-11-10 13 views
12

में विदेशी कुंजी से विदेशी कुंजी एसोसिएशन उत्पन्न नहीं करता है मेरे पास एक टेबल tblEvent और एक और तालिका tblContact है। TblEvent में एक संपर्क ContactID है जो tblContact में ContactID के लिए एक विदेशी कुंजी से जुड़ा हुआ है। मैंने तीन बार चेक किया है; विदेशी कुंजी डेटाबेस में है।ईएफ तालिका

इकाई फ्रेमवर्क मॉडल इसके लिए एक नेविगेशन प्रॉपर्टी और विदेशी कुंजी एसोसिएशन उत्पन्न नहीं करता है क्योंकि यह अन्य विदेशी कुंजी के लिए करता है।

इस विदेशी कुंजी के बारे में क्या भिन्न हो सकता है कि ईएफ इसके लिए नेविगेशन प्रॉपर्टी उत्पन्न नहीं करता है?

धन्यवाद!

+0

क्या संपर्क आईडी एक अद्वितीय कुंजी या प्राथमिक कुंजी से बना है? क्या हम एसक्यूएल –

+0

देख सकते हैं कि एसक्यूएल में कोई tblEvent नहीं है, केवल tKLanguage के लिए एक FK है। आप किस एफके के साथ समस्या कर रहे हैं? tblEvent या tblLanguage। हमें tblContact और tblEvent के लिए SQL को देखने की आवश्यकता है। – RPM1984

उत्तर

0

यदि आप 3.5sp1 का उपयोग कर रहे हैं जो समस्या हो सकती है।

यह आलेख कुछ बदलावों पर छूता है और यदि कुछ भी नहीं है तो आप लेख में वर्णित इकाई डिजाइनर में एफके एसोसिएशन को मैन्युअल रूप से जोड़ सकते हैं।

http://blogs.msdn.com/b/efdesign/archive/2009/03/16/foreign-keys-in-the-entity-framework.aspx

+0

यह .NET 4.0 है। पागल क्या है यह अन्य विदेशी कुंजी को पहचानता है - बस यह एक और दो अन्य नहीं। अन्य विदेशी कुंजी यह पहचानता है। – rsteckly

11

मैं यहाँ समाधान नहीं मिला:

Why doesn't EF 4 generate association for FK relation to column with unique index?

कारण यह पहचान नहीं कर रहा था क्योंकि तालिका विदेशी कुंजी मैदान पर एक अनूठा गैर क्लस्टर सूचकांक पड़ा है।

जाहिर है, एक अद्वितीय, गैर-क्लस्टर सूचकांक शून्य मूल्य के लिए अनुमति देता है जिसे मैप नहीं किया जा सकता है।

+3

तब समाधान क्या है? मैं प्राथमिक आईडी के रूप में एक आईडी का उपयोग कर रहा हूं और एक अन्य तालिका के संदर्भ में एक GUID का उपयोग कर रहा हूं। मैं प्राथमिक कुंजी के रूप में GUID का उपयोग नहीं करना चाहूंगा। मुझे पता है कि मैं क्लस्टर्ड इंडेक्स के रूप में सिर्फ एक और विशेषता का उपयोग कर सकता हूं, लेकिन यह गलत लगता है। – NSAddict