A entidade não pode ser construída em uma consulta LINQ to Entities

Existe um tipo de entidade chamado produto que é gerado pela estrutura da entidade. Escrevi esta consulta

public IQueryable<Product> GetProducts(int categoryID)
{
    return from p in db.Products
           where p.CategoryID== categoryID
           select new Product { Name = p.Name};
}

O código abaixo gera o seguinte erro:

"A entidade ou o tipo complexo Shop.Product não pode ser construído em uma consulta LINQ to Entities"

var products = productRepository.GetProducts(1).Tolist();

Mas quando eu usoselect p ao invés deselect new Product { Name = p.Name}; funciona corretament

Como posso pré-formar uma seção de seleção personalizada?

questionAnswers(13)

yourAnswerToTheQuestion