2009-10-08 15 views
7

मेरे पास दो अलग-अलग डेटा संदर्भों से दो टेबल हैं। हालांकि दोनों टेबल एक ही डेटाबेस से हैं, दो अलग डेटाकॉन्टेक्स मौजूद हैं।विभिन्न डेटा संदर्भ से तालिकाओं में कैसे शामिल हों?

त्रुटि संदेश:

क्वेरी एक अलग डेटा संदर्भ पर परिभाषित आइटम के संदर्भ हैं।

मैं इसके आसपास कैसे हो सकता हूं? किसी भी मदद की सराहना की है। धन्यवाद।

+1

2 डेटाकॉन्टेक्स के लिए व्यापार दृष्टिकोण से यह कैसे समझ में आता है? आम तौर पर मैं प्रति डेटाबेस केवल 1 डेटाकॉन्टेक्स्ट रखने की सलाह देता हूं और उस के साथ काम करता हूं ... – Robban

+2

शायद यह समझ में नहीं आता है, लेकिन यही वह है जिसके साथ मैं काम कर रहा हूं। – jinsungy

+0

पढ़ने के लिए एक संदर्भ और – skyfoot

उत्तर

0

क्यों आप प्रत्येक संदर्भ में आवश्यक तालिकाओं को शामिल नहीं करते हैं?

+1

लिखने के लिए इसका एक अच्छा अभ्यास है, मुझे "यह सदस्य एक से अधिक बार परिभाषित किया गया है" त्रुटि प्राप्त होती है। – jinsungy

+0

तो आप शायद कुछ और गलत कर रहे हैं। –

+0

ईएफ आपके पास एकाधिक मॉडल होने पर नामस्थानों को ध्यान में नहीं रखता है। आप कई मॉडलों में समान रूप से नामित टेबल नहीं रख सकते हैं। मेरा विश्वास मत करो? कोशिश करो ! –

2

आप नहीं करते हैं। डेटा संदर्भों में डेटाबेस के असंगत विचार हो सकते हैं।

6

अपने कोड की तर्ज पर कुछ करता है:,

from a in dc1.TableA 
join b in dc1.GetTable<TableB>() on a.id equals b.id 
select new { a, b } 

L2S DataContext वर्ग पर विशेषताओं का उपयोग करता है, इसलिए यदि आप का उपयोग करें:

from a in dc1.TableA 
join b in dc2.TableB on a.id equals b.id 
select new { a, b } 

... बस के लिए इसे बदल तालिका से जुड़ी एक की तुलना में किसी अन्य डेटाकॉन्टेक्स्ट पर गेटटेबल क्लास डीफ़ से टेबल, कॉलम इत्यादि को उठाएगा और इसका उपयोग करेगा जैसे कि यह डीसी का हिस्सा था जिसका आप क्वेरी में उपयोग कर रहे हैं ...

1

एक अन्य समाधान सूची में परिणाम को बदलने है()।

var query = (from a in dc1.TableA 
      join b in dc2.TableB on a.id equals b.id 
      select new { a, b }).ToList() 
संबंधित मुद्दे