Metoda niestatyczna wymaga celu?

Nigdy wcześniej nie widziałem tego błędu i jest to bardzo mylące, w zasadzie próbuję coś zrobić, gdy mówię, znajdź wszystkie lokalizacje (zwróci tylko jedną), które pasują do podanej nazwy lokalizacji i typu:

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();

Prawdopodobnie jest lepszy sposób na zrobienie tego, co chcę za jednym zamachem, ale zasadniczo otrzymuję nazwę z kolumny (pochodzi ona z pliku csv), a następnie powiedz, uzyskaj informacje o lokalizacji. Po tym mówię ok, teraz, kiedy mam cały ten jazz, idź do mnie z tą nazwą i jej typem.

Ale mam błąd:

Metoda niestatyczna wymaga celu

Metoda najwyższego poziomu, w której działa ten kod, to:

static void Main(string[] args){}

Zasadniczo jest to po prostu aplikacja konsoli. Więc co się dzieje?

db jest klasą kontekstu, powinno to być oczywiste.kolumny czy wyciągam dane z pliku csv, w tym przypadku kolumny [40] byłyby czymś w rodzaju „Nowy Jork”

Komunikat o błędzie pełnym z śledzenia stosu: {"Metoda niestatyczna wymaga celu."}

Uwaga: Pytanie opublikowane jako „możliwa odpowiedź” nie pomaga w tym przypadku, ponieważ główna metoda, w której używam tego kodu, jest statyczna.

Po dalszym badaniu odkryłem, że nazwa i typ są puste, więc zrobiłem następującą poprawkę:

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
}

Niestety nadal pojawia się błąd:Location loc = db.Locations.Where(l => l.name == name && l.type == type.type).FirstOrDefault();

questionAnswers(3)

yourAnswerToTheQuestion