2010-10-07 8 views
5

मैं यहां फंस गया हूं।2 टेबल से 1 इकाई तक डेटा मैप करना - इकाई फ्रेमवर्क 4

यह इकाई की रूपरेखा 4.

में 1 इकाई के लिए 2 अलग तालिका से डेटा को मैप करने के लिए संभव मैं एक तालिका में कर्मचारियों का एक समूह है, और दूसरे में मैं som परियोजना जानकारी है। मैं इन इकाइयों को एक इकाई में जोड़ना चाहता हूं, और ट्रैकिंग सुविधाओं आदि को रखना चाहता हूं, क्या यह संभव है?

मैं फ़ंक्शन आयात का उपयोग नहीं करना चाहता, लेकिन इसे पूरी तरह से इकाई मॉडल के माध्यम से करें।

कर सकते हैं किसी को भी मदद - जब मैं यह करने के लिए प्रयास करते हैं, मैं निम्नलिखित त्रुटि मिलती है हर समय:

त्रुटि 3024: मानचित्रण टुकड़े में समस्या लाइन 2354 से शुरू: (MyProjectTable सभी प्रमुख संपत्तियों के लिए मानचित्रण प्रदान करें। EntitySet MyProjectTable के PSInitials, MyProjectTable.ProjectID)।

दोनों कुंजी को उनके संबंधित तालिकाओं में मैप किया गया है। नई इकाई MyProjectTable के साथ बेसेटेबल के रूप में बनाई गई है।

2 तालिकाओं के बीच संबंध एक 1- *

आशा है कि आप मदद कर सकते हैं।

/ईसाई

+0

AFAIK आप यह नहीं कर सकते हैं। अगर उन्हें 1 इकाई में जोड़ा जा सकता है, तो उन्हें एक टेबल में क्यों जोड़ा जा सकता है? या दूसरा विकल्प - बस उन्हें 2 इकाइयों के रूप में छोड़ दें - और 'प्रोजेक्ट' उन्हें 1 इकाई (यानी विशेष पीओसीओ) – RPM1984

+0

हम्म में मिला - इस आलेख को मिला - http://blogs.msdn.com/b/simonince/archive/2009/03 /23/mapping-two-tables-to-one-entity-in-the-entity-framework.aspx - और स्पष्ट रूप से यह 1-1 संबंध पर किया जा सकता है। लेकिन 1- * संबंध पर ऐसा करने से निम्नलिखित त्रुटि मिलती है: त्रुटि 3024: लाइन 200 9 से शुरू होने वाले टुकड़ों को मैप करने में समस्या: EntitySet MyProjectTable के सभी प्रमुख गुणों (MyProjectTable.PSInitials, MyProjectTable.ProjectID) के लिए मानचित्रण निर्दिष्ट करना होगा । कोई सुझाव ???? –

+0

यदि यह 1- * है, तो आप एक इकाई क्यों चाहते हैं? यह वास्तव में समझ में नहीं आता है। –

उत्तर

5

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

http://msdn.microsoft.com/en-us/library/bb896233.aspx

You should only map an entity type to multiple tables if the following conditions are true:

  • The tables to which you are mapping share a common key.

  • The entity type that is being mapped has entries in each underlying table. In other words, the entity type represents data that has a one-to-one correspondence between the two
    tables; the entity type represents an inner join of the two tables.

1

को ऐसा करने के लिए कारणों अनुसार काफी स्पष्ट हैं - उदाहरण के लिए, कि सभी पांच 'प्रकार' में से एक है डेटा बिंदुओं की एक तालिका। स्पष्ट रूप से 'प्रकार' सामान्यीकरण के लिए एक अलग तालिका होगी, लेकिन एक अनुप्रयोग बिंदु (डेटा के साथ काम करने) से यह एक ही इकाई में सभी गुणों को और अधिक समझ में आता है।

तो हम एंटिटी फ्रेमवर्क - एक ऑब्जेक्ट-रिलेशनल-मैपर के साथ ऐसा नहीं कर सकते हैं। तो, इस तरह के ढांचे का उपयोग करने का मुद्दा क्या है?

+0

मुझे लगता है कि तर्क यह होगा कि यह उन संस्थाओं को बनाने के बजाय डेटाबेस से देखने के रूप में अधिक प्रभावी ढंग से किया जाता है जो विचारों के रूप में कार्य करते हैं। मैं खुद वही काम करने का प्रयास कर रहा था ... मैं अभी भी हूं। चूंकि मैं एक कोड लड़का हूं और डेटाबेस पर कोई नियंत्रण नहीं है, इसलिए यह मेरे लिए सहायक होगा कि इन इकाइयों को डेटा स्टोर में हेरफेर किए बिना इस तरह प्रदान करने में सक्षम हो ... लेकिन मैं इसे करने के लिए तर्क को समझता हूं। –

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