LinqPad Linq Include() extension method is not found even after adding references

Arvind Singh picture Arvind Singh · Feb 23, 2013 · Viewed 14.3k times · Source

I am able to do

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

and even

var result =  OAS_Questions;
result.Dump();

But when I try to include child objects of "Questions" say "Opitons" through

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

I am shown the below error

'System.Data.Linq.Table' does not contain a definition for 'Include' and no extension method 'Include' accepting a first argument of type 'System.Data.Linq.Table' could be found (press F4 to add a using directive or assembly reference)

I have already tried adding references to the below assembly references.

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

But still the extension method "Include()" is not available while composing query and it gives a syntax error.

Answer

TonyS picture TonyS · Jul 25, 2014

If you're using EF via LinqPad then a better method is to use the strongly typed version of .Include (http://msdn.microsoft.com/en-us/library/gg671236%28VS.103%29.aspx) as follows:

  1. open your LinqPad Query
  2. right-click -> query properties
  3. Add reference to the EntityFramework.dll
  4. via the Additional namespace import tab add System.Data.Entity

you then have intellisense and can use the strongly typed version of .Include, e.g.:

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