Filtrando listas usando LINQ

Eu tenho uma lista de pessoas retornadas de um aplicativo externo e estou criando uma lista de exclusão no meu aplicativo local para me dar a opção de remover manualmente as pessoas da lista.

Tenho uma chave composta que criei que é comum a ambos e quero encontrar uma maneira eficiente de remover pessoas da minha lista usando minha lista

por exemplo

class Person
{
    prop string compositeKey { get; set; }
}

class Exclusions
{
    prop string compositeKey { get; set; }
}

List<Person> people = GetFromDB;

List<Exclusions> exclusions = GetFromOtherDB;

List<Person> filteredResults = People - exclustions using the composite key as a comparer

Eu pensei que o LINQ era a maneira ideal de fazer isso, mas depois de tentar junções, métodos de extensão, usar rendimentos, etc. Ainda estou tendo problemas.

Se fosse SQL, eu usaria umnot in (?,?,?) inquerir.

questionAnswers(9)

yourAnswerToTheQuestion