Nicht statische Methode erfordert ein Ziel?

Ich habe diesen Fehler noch nie gesehen und er ist sehr verwirrend. Ich versuche im Wesentlichen, etwas zu tun, bei dem ich sage, dass ich alle Standorte finde (nur einen zurückgeben werde), die mit dem übergebenen Standortnamen und dem Typ übereinstimmen:

string name = columns[40];
Location type = db.Locations.Where(l => l.name == name).FirstOrDefault();
Location loc = db.Locations.Where(l => l.name == name && l.type == type.type).FirstOrDefault();

Es gibt wahrscheinlich eine bessere Möglichkeit, auf einen Schlag das zu tun, was ich will, aber im Wesentlichen erhalte ich den Namen aus einer Spalte (dies stammt aus einer CSV-Datei) und sage dann, dass ich die Standortinformationen erhalte. Danach sage ich ok, jetzt, wo ich den ganzen Jazz habe, besorge mir einen Ort mit diesem Namen und seinem Typ.

Aber ich bekomme den Fehler:

Für die nicht statische Methode ist ein Ziel erforderlich

Die Methode der obersten Ebene, in der dieser Code ausgeführt wird, lautet:

static void Main(string[] args){}

Im Grunde ist es nur eine Konsolen-App. So was ist los?

db Ist die Kontextklasse, sollte dies offensichtlich sein.Säulen ziehe ich die Daten aus der CSV-Datei, in diesem Fall wären Spalten [40] so etwas wie "New York"

Vollständige Fehlermeldung vom Stack-Trace: {"Nicht statische Methode erfordert ein Ziel."}

Hinweis: Die Frage als "mögliche Antwort" hilft in diesem Fall nicht, da die Hauptmethode, in der ich diesen Code ausführe, statisch ist.

Bei weiteren Nachforschungen stellte ich fest, dass der Name und der Typ null waren, und führte daher die folgenden Korrekturen durch:

if (name != null)
{
    Location type = db.Locations.Where(l => l.name == name).FirstOrDefault();
    Location loc = db.Locations.Where(l => l.name == name && l.type == type.type).FirstOrDefault();
    locationNearbyId = loc.id;

    // More code
}

Leider bekomme ich immer noch den Fehler bei:Location loc = db.Locations.Where(l => l.name == name && l.type == type.type).FirstOrDefault();

Antworten auf die Frage(3)

Ihre Antwort auf die Frage