2011-09-25 14 views
6

enter image description hereइकाई की रूपरेखा गैर विद्यमान स्तंभ को पुनः प्राप्त करने

मैं डेटाबेस से VideoCollection आइटम प्राप्त करने का प्रयास कर रहा हूँ, लेकिन {"Invalid column name 'User_Id'."} हो रही कोशिश कर रहा - जब मैं एक ब्रेकपाइंट सेट मैं देख सकता हूँ कि एफई user_id स्तंभ का चयन करने के लिए कोशिश कर रहा है लेकिन यह सीएस ऑब्जेक्ट या डेटाबेस स्कीमा में मौजूद नहीं है। (यह किसी अन्य तालिका में मौजूद है लेकिन इससे कोई फर्क नहीं पड़ता)। क्या यह बहस करने के लिए वैसे भी है कि यह क्यों हो रहा है?

उत्तर

9

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

+0

आप लगभग वहां हैं - मेरे पास मध्यस्थ तालिका खरीदी गई है - जिसमें UserId और VideoCollectionId (दोनों विदेशी कुंजी के रूप में) हैं। यह संबंध को स्पष्ट रूप से परिभाषित करना चाहिए? मैंने इस मध्यस्थ को सीएस ऑब्जेक्ट्स और डीबीकॉन्टेक्स्ट में हटा दिया (क्योंकि मुझे इसे सीधे एक्सेस करने की आवश्यकता नहीं थी)। क्या इस समस्या से समस्या हो सकती है? – greenimpala

+2

@ st3 आपको या तो उपयोगकर्ता_विडियो चयन में तालिका का नाम बदलने या 'ऑनमोडेल क्रिएटिंग' ओवरराइड करने की आवश्यकता है और स्पष्ट रूप से 'खरीदे गए कोलेक्शन' तालिका के माध्यम से कनेक्शन स्थापित करें। ईएफ (कोड पहले) सम्मेलन उम्मीद करते हैं कि या तो आपके पास प्रत्यक्ष एफके रिलेशनशिप या संस्थाओं के नामों का उपयोग करके एक टेबल शामिल हो। यदि आप इससे विचलित हो जाते हैं, तो आपको यह बताने की ज़रूरत है कि कनेक्शन कैसे बनाया जाए। 'Builder.Entity () जैसी कुछ .हैमनी (u => u.Collections) .ithRequired()। ToTable (" खरीदे गए कोलेक्शन "); – tvanfosson

+0

ऐसा लगता है, धन्यवाद। क्या आप कह रहे हैं कि इस नामकरण सम्मेलन के साथ कई रिश्तों को किसी भी रिश्ते की घोषणा की जानी चाहिए (जब तक आप रिश्ते को स्पष्ट रूप से परिभाषित नहीं करते?)। – greenimpala

संबंधित मुद्दे