2011-05-10 9 views
5

मैं पहली बार LINQ उपयोग कर रहा था अपने प्रोजेक्ट में SQL करने के लिए SQL और निम्नलिखित कथन इस्तेमाल किया:LINQ से इकाई की रूपरेखा में विभिन्न परिणाम

var ProjectRouteEmails = EmailManagerDAL.Context.ProjectRouteEmails 
      .Where(p => p.ProjectID == ProjectID); 

कि सही ढंग से देखने ProjectRouteEmails से तीन अलग-अलग ईमेल लौट आए। ईमेल तालिका से लौटाई गई आईडी 117, 591, और 610 थी।

मैं LINQ से इकाइयों में बदल गया और उसी दृश्य और एक ही LINQ कथन का उपयोग करता हूं, लेकिन भले ही मैं तीन रिकॉर्ड वापस प्राप्त कर रहा हूं, यह पहला रिकॉर्ड है , आईडी 117, जो तीन बार वापस आ रहा है।

मैं इस तरह LINQ बयान लिख करने की कोशिश की:

var ProjectRouteEmails = from p in EmailManagerDAL.Context.ProjectRouteEmails 
           where p.ProjectID == ProjectID 
           select p; 

लेकिन यह कोई फर्क नहीं बनाया; एक ही रिकॉर्ड तीन बार लौटा।

मैं एसक्यूएल सर्वर प्रबंधन स्टूडियो में चला गया और क्वेरी भाग गया:

select * from ProjectRouteEmails (nolock) 
where ProjectID = 12 

और सही तीन, अद्वितीय रिकॉर्ड लौट आए।

यहां क्या हो रहा है?

धन्यवाद!

+0

मैं दोबारा जांच करूँगा कि आप इसे आउटपुट के माध्यम से कैसे कर रहे हैं ... फिश – hunter

+0

लगता है कि मैं इसे ग्रिड पर बाध्य कर रहा हूं। इसके अलावा मेरे पास एक ब्रेकपॉइंट सेट है और घड़ी विंडो में इसकी जांच करना एक ही परिणाम दिखाता है। – user390480

उत्तर

5

सुनिश्चित करें कि एंटीटी डेटा मॉडल में ProjectRouteEmails के लिए इकाई कुंजी सही ढंग से सेट की गई है। कभी-कभी जब आप मॉडल में दृश्य आयात करते हैं तो इकाई कुंजी गड़बड़ हो जाती है।

+0

दिलचस्प ... क्या आप विशिष्टताओं या अधिक विस्तार प्रदान कर सकते हैं? क्या यह इकाई वस्तु में है? या ... कुछ संबंध मेटाडाटा? कुछ नट्स और बोल्ट में खुदाई के बिना इकाई डेटा मॉडल बनाने के लिए टूल का उपयोग कर सकते हैं। – IAbstract

+0

यह था !!!! धन्यवाद Aducci! ऐसा लगता है कि इकाई कुंजी के रूप में मनमाने ढंग से एक टेक्स्ट फ़ील्ड का चयन किया गया था। मैंने इसे सही क्षेत्र में बदल दिया और यह काम करता है। धन्यवाद! – user390480

+2

बस दूसरों के लिए भविष्य के संदर्भ के लिए। Edmx खोलें, फिर आपका दृश्य फ़ील्ड पर राइट क्लिक करें और इकाई कुंजी जोड़ें। – causita

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

  • कोई संबंधित समस्या नहीं^_^