O tipo CLR '{0}' não pode ser usado como uma saída de consulta ou um tipo de entrada para uma agregação ou um operador definido ...

O tipo CLR '{0}' não pode ser usado como uma saída de consulta ou um tipo de entrada para uma agregação ou um operador definido pelo usuário, pois não tem ou construtor padrão ou tem uma propriedade pública sem um método setter. Isso pode ocorrer quando o tipo é um tipo anônimo gerado pelo compilador. Para resolver esse problema, crie um tipo explícito.