2013-02-23 15 views
12

मैंLINQPad Linq शामिल करें() विस्तार विधि भी संदर्भ जोड़कर

var result = OAS_Questions.Count (oasq => oasq.Id!=0); 
result.Dump(); 

और यहां तक ​​कि

var result = OAS_Questions; 
result.Dump(); 

लेकिन ऐसा करने में सक्षम हूँ के बाद नहीं मिला है जब मैं "प्रश्न" के बच्चे वस्तुओं को शामिल करने की कोशिश कहते हैं कि "Opitons" के माध्यम से

var result = OAS_Questions.Include("OAS_QuestionOptions"); 
result.Dump(); 

मैं नीचे त्रुटि

से पता चला हूँ

'System.Data.Linq.Table' के लिए 'शामिल करें' एक परिभाषा और कोई विस्तार विधि 'शामिल करें' को स्वीकार प्रकार 'System.Data.Linq.Table' का एक पहला तर्क हो सकता है शामिल नहीं है

मैं पहले से ही नीचे विधानसभा संदर्भ के लिए संदर्भ जोड़ने की कोशिश की है (एक का उपयोग कर के निर्देश या विधानसभा संदर्भ जोड़ने के लिए F4 दबाएं) में पाया गया।

  1. System.Code
  2. System.Data
  3. System.Data.Entity
  4. System.Data.Linq
  5. System.Linq.Expressions
  6. System.Data.DataSetExtensions

लेकिन फिर भी क्वेरी लिखते समय विस्तार विधि "शामिल करें()" उपलब्ध नहीं है और यह एक वाक्यविन्यास एर देता है ROR।

उत्तर

3

डिफ़ॉल्ट रूप से लिंककैड लिंक 2 एसक्यूएल डेटा कॉन्टेक्स्ट का उपयोग करता है जो आपको शामिल करने की अनुमति नहीं देता है।

को शामिल विस्तार विधि अपनी परियोजना विधानसभा (EF4.x/EF5)

+0

यहाँ कैसे Typed DataContext के संदर्भ जोड़ने के लिए की एक विवरण के लिए देखें ए/24456720/1 9 43 –

6

आप अपने EntityFramework परियोजना की DLL से एक Typed DataContext (ObjectContext या DbContext) उपयोग करने की आवश्यकता से एक Typed DataContext का उपयोग पाने के लिए। आप नीचे दिए गए चरणों को करके ऐसा कर सकते हैं:

  1. पर क्लिक करें आवेदन के ऊपरी-बाएं कोने में कनेक्शन लिंक जोड़ें।
  2. Choose Data Context विज़ार्ड में, Use a typed data context from your own assembly विकल्प का चयन करें।
  3. अपने समाधान के लिए उपयुक्त LINQPad ड्राइवर विकल्प पर क्लिक करें (LINQ से SQL, EF 4.0 और निम्न या EF 4.1 और उच्चतर), फिर अगला पर क्लिक करें।
  4. शीर्ष दाएं कोने में Browse पर क्लिक करें और फिर अपनी ईएफ परियोजना असेंबली का चयन करें।
  5. इकाई डेटा मॉडल का चयन करें, फिर ठीक पर क्लिक करें।
  6. Server, Log on details और database निर्दिष्ट करें, फिर ठीक पर क्लिक करें।

अब आप लिंकपैड में .Include कथन का उपयोग करने में सक्षम होना चाहिए।

22

आप LINQPad के माध्यम से एफई उपयोग कर रहे हैं तो एक बेहतर तरीका इस प्रकार .Include (http://msdn.microsoft.com/en-us/library/gg671236%28VS.103%29.aspx) की दृढ़ता से टाइप किया संस्करण का उपयोग करने के लिए है:

  1. अपने LINQPad क्वेरी को खोलने
  2. राइट क्लिक करें -> क्वेरी गुण
  3. जोड़ें EntityFramework.dll
  4. के संदर्भ में अतिरिक्त नामस्थान आयात टैब के माध्यम से जोड़ने के System.Data.Entity

आप तो IntelliSense है और .Include की दृढ़ता से टाइप किया संस्करण है, जैसे उपयोग कर सकते हैं: http://stackoverflow.com/:

var result = OAS_Questions.Include(q => q.OAS_QuestionOptions); 
+0

इकाई फ्रेमवर्क कोर के लिए Microsoft.EntityFrameworkCore.dll असेंबली का संदर्भ जोड़ें और अतिरिक्त नामस्थान जोड़ें Microsoft.EntityFrameworkCore –

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