Ich habe diesen Fehler nie zuvor gesehen und es ist sehr verwirrend, ich versuche im Wesentlichen etwas zu tun, wo ich sage, dass ich alle Orte finde (wird nur einen zurückgeben), die dem übergebenen Ortsnamen und dem Typ entsprechen:
%Vor%Es gibt wahrscheinlich einen besseren Weg, um zu tun, was ich will auf einen Schlag, aber im Wesentlichen bekomme ich den Namen aus einer Spalte (das kommt aus einer CSV-Datei), und dann sagen Sie, holen Sie mir diese Ortsinformationen. Danach sage ich jetzt ok, dass ich all den Jazz habe, hol mir einen Ort mit diesem Namen und seinem Typ.
Aber ich bekomme den Fehler:
Nicht-statische Methode erfordert ein Ziel
Die oberste Methode, auf der dieser Code ausgeführt wird, ist:
%Vor%Im Wesentlichen ist es nur eine Konsolen-App. Also, was ist los?
Vollständige Fehlermeldung aus der Stapelüberwachung: {"Nicht statische Methode erfordert ein Ziel."}
Hinweis: Die als "mögliche Antwort" angegebene Frage hilft in diesem Fall nicht, da die Hauptmethode, in der ich diesen Code ausführe, statisch ist.
Bei weiterer Untersuchung fand ich, dass Name und Typ null waren, also habe ich den folgenden Fix genommen:
%Vor% Leider bekomme ich immer noch den Fehler bei: Location loc = db.Locations.Where(l => l.name == name && l.type == type.type).FirstOrDefault();
Das ist mir heute passiert. Komm, um es herauszufinden, ich habe das gemacht:
%Vor% wo course.Club
über EF von meiner Datenbank geladen wurde. Zuerst dachte ich, dass mein Problem die Erweiterung FormatPhoneNumber
war, aber dann stellte ich fest, dass das Entfernen des course.Club.ID
das Problem behob:
Vermeiden Sie daher, in nachfolgenden LINQ-Abfragen Werte zu verwenden, die aus Lazy-Loaded-Objekten gewonnen wurden - weisen Sie sie lokalen Variablen zu und verwenden Sie diese Variablen dann in Ihrer Abfrage.
Tags und Links linq