Cannot access non-static member of outer type 'LINQPad.User.TypedDataContext'
Options
The following error has stymied me.
Cannot access non-static member of outer type 'LINQPad.User.TypedDataContext' nested type 'UserQuery.MyOriginalClass'
What does this mean and how do I fix it?
Cannot access non-static member of outer type 'LINQPad.User.TypedDataContext' nested type 'UserQuery.MyOriginalClass'
What does this mean and how do I fix it?
Comments
-
Normally, anything types that you define end up as nested types, because LINQPad wraps everything that you enter into a class definition. You can tell LINQPad to extract the classes and define them as non-nested by adding the following to the beginning of your query:
#define NONEST
-
Fixing the previous problem opened a new issue. I'm confident the query works in a live program. How do you query a database from a class method? The specific error that appears is 'Could not find an implementation of the query pattern for source type 'LINQPad.User.GenericTableName'. 'Select' not found.
var query = from gtn in GenericTableName
select sa.Asset.Name; -
Is the method part of another class that you're writing? If so, you'll need to pass in the typed data context as follows:
void Main() { Foo.Test (this); } class Foo { public static void Test (TypedDataContext data) { data.Customers.Dump(); } }
If the method isn't part of a separate class, just make sure it's an instance method and it will work just fine:void Main() { Test(); } void Test() { Customers.Dump(); }