Método não estático requer um alvo?

Eu nunca vi esse erro antes e é muito confuso, eu estou essencialmente tentando fazer algo onde eu digo me encontrar todos os locais (só irá retornar um) que correspondem ao nome da localização passada e o tipo:

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

Há provavelmente uma maneira melhor de fazer o que eu quero de uma só vez, mas essencialmente eu recebo o nome de uma coluna (isso vem de um arquivo csv), e depois digo, me dê essa informação de localização. Depois disso eu digo ok agora que eu tenho todo esse jazz, vai me pegar um local com esse nome e seu tipo.

Mas eu recebo o erro:

Método não estático requer uma meta

O método de nível superior em que todo esse código é executado é:

static void Main(string[] args){}

Essencialmente, é apenas um aplicativo de console. Então o que está acontecendo?

db é a classe de contexto, isso deve ser óbvio.colunas sou eu puxando os dados do arquivo csv, nesse caso as colunas [40] seriam algo como "Nova York"

Mensagem de erro completa do rastreamento de pilha: {"Método não estático requer um alvo."}

Nota: A questão postada como "possível resposta" não ajuda neste caso, pois o método principal em que estou executando este código é estático.

Após uma investigação mais aprofundada, descobri que o nome e o tipo eram nulos, então fiz a seguinte correção:

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
}

Infelizmente ainda recebo o erro em:Location loc = db.Locations.Where(l => l.name == name && l.type == type.type).FirstOrDefault();

questionAnswers(3)

yourAnswerToTheQuestion