Вот запрос Linq:
Common.ProductType.ProductTypeEnum[] aCustomerProduct =
(from customer in repositoryCustomer.GetAll().Where(cp => cp.Email == strEmail)
join cp in repositoryCustomerProduct.GetAll() on customer.CustomerId equals cp.CustomerId
select cp.ProdId
).ToArray<ProductType.ProductTypeEnum>();
Здесь все работает нормально: возвращается массив из 4 элементов.
Но здесь мне нужно получать только уникальные предметы, поэтому я добавил группировку здесь:
Common.ProductType.ProductTypeEnum[] aCustomerProduct =
(from customer in repositoryCustomer.GetAll().Where(cp => cp.Email == strEmail)
join cp in repositoryCustomerProduct.GetAll() on customer.CustomerId equals cp.CustomerId
group cp by cp.ProdId into products0
select products0.Key
).ToArray<ProductType.ProductTypeEnum>();
И вместо массива у меня появляется сообщение об ошибке:
Аргумент 'value' был неправильного типа. Ожидаемый «Common.ProductType + ProductTypeEnum». Фактический 'System.Int32'.
Что не так со вторым запросом?
Пожалуйста, сообщите. Большое спасибо!
P.S. Второй запрос вообще не отправляется на сервер MSSQL (Profiler ничего не показывает для него).