Para los que quieran hacer un “not in” en Linq es muy fácil, solo hay que usar el operador ! en el clausula Where. Aquí publico el método TraerTodosSinSpam() del servicio PostServicio de la nueva versión de este portal:
public IList<IPost> TraerTodosSinSpam()
{
var spamsReportados =
_spamReportadoServicio.TraerTodasLasEntidades();
var query = (from c in _postRepositorio.TraerTodos()
where !(from o in spamsReportados
select o.Id).Contains(c.Id)
select c).ToList<IPost>();
return query;
}