Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

एंटिटी फ्रेमवर्क 4 टेबल प्रति पदानुक्रम - बच्चों पर नेविगेशनल गुणों को कैसे परिभाषित करें?

इसलिए मैंने अपनी कुछ समस्याओं का समाधान किया, लेकिन मैंने ईंट की दीवार मार दी।

सबसे पहले, जब आप डेटाबेस साइड में सेल्फ-रेफरेंसिंग एफके बनाते हैं, जब आप कोशिश करते हैं और "डेटाबेस से मॉडल अपडेट करते हैं", तो एंटिटी फ्रेमवर्क इन नेविगेशनल गुणों को मुख्य आधार प्रकार में जोड़ देगा, क्योंकि इसमें टीपीएच का कोई स्पष्ट अर्थ नहीं है - आप इसे मॉडल पक्ष में करने की आवश्यकता है।

लेकिन, आप बच्चे के प्रकारों में मैन्युअल रूप से नेविगेशनल गुण जोड़ सकते हैं।

WRT यह त्रुटि:

ऐसा इसलिए था क्योंकि मेरे पास "Location_State" नामक एक FK था जिसे मैं "ZipCode_State" संबंध और "City_State" संबंध के लिए उपयोग करने का प्रयास कर रहा था - जो काम नहीं करता (अभी भी पता नहीं क्यों)।

तो इसे हल करने के लिए, मुझे अतिरिक्त कॉलम और अतिरिक्त एफके जोड़ना पड़ा - जिसे "ज़िपकोड_स्टेट" कहा जाता है, और दूसरा "सिटी_स्टेट" कहलाता है - जाहिर है कि इसे नौसेना और भौतिक एफके के बीच 1-1 होना चाहिए।

वह मेरा भेदभाव करने वाला क्षेत्र है। डेटाबेस पक्ष में, यह अशक्त नहीं है ।

मैंने इस मुद्दे के बारे में सूत्र पढ़े, और उन्होंने कहा कि आपको रिश्तों को 0..* से 1..* में बदलने की जरूरत है - लेकिन मेरे रिश्ते पहले से ही 1..* थे।

यदि आप ऊपर मेरे "स्थान" वास्तविक डेटाबेस तालिका को देखते हैं, तो सभी FK अशक्त हैं (उन्हें होना चाहिए)। इसलिए मैं सोचने लगा कि क्या मेरे रिश्ते 0..* होने चाहिए।

लेकिन वे टीपीएच के कारण अशक्त हैं - सभी "स्थानों" में "राज्य" नहीं होगा। लेकिन अगर वह स्थान एक "शहर" है, तो उसके पास एक "राज्य" होना चाहिए।

इस SO प्रश्न से मेरी भावनाओं को और सुकून मिला:in-tph">एडीओ ईएफ - टीपीएच में व्युत्पन्न प्रकारों के बीच एसोसिएशन मैपिंग में त्रुटियां

मैं वास्तव में उस वर्कअराउंड की कोशिश कर रहा था (इससे पहले कि मैं भी इसके पार आया), और वर्कअराउंड मेरे लिए काम नहीं करता है। मैंने सभी रिश्तों को 1..* से 0..* में बदलने की भी कोशिश की, और फिर भी कोई भाग्य नहीं।

यहाँ बहुत अधिक समय बर्बाद करते हुए, मैं वापस टीपीटी पर गया हूँ।

दिन के अंत में, टीपीएच के साथ मेरे पास एक हास्यास्पद बड़ी तालिका होती, जिसमें बहुत सारे और बहुत सारे निरर्थक, अशक्त स्तंभ होते। जॉइन-वार, यह अधिक कुशल है। लेकिन कम से कम टीपीटी के साथ मुझे अशक्त और आत्म-संदर्भित एफके की आवश्यकता नहीं है।

अगर किसी के पास इस समस्या का समाधान है तो मुझे बताएं। लेकिन तब तक, मैं टीपीटी पर कायम हूं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में फ्लोट और न्यूमेरिक/दशमलव में क्या अंतर है - SQL सर्वर / T-SQL ट्यूटोरियल भाग 33

  2. SQL सर्वर में सप्ताह का पहला दिन प्राप्त करें

  3. SqlBulkCopy के लिए अनुशंसित बैच आकार क्या है?

  4. SQL सर्वर डेटाबेस का नाम बदलें

  5. उपयोगकर्ता डिफ़ॉल्ट डेटाबेस नहीं खोल सकता। लॉगिन विफल। SQL सर्वर प्रबंधन स्टूडियो एक्सप्रेस स्थापित करने के बाद