Ответ 1
Просто так:
public static IQueryable<ProdType> GetDistinctProdType(
this IQueryable<ProdInfo> query,
int categoryId)
{
return (from p in query
where p.CatID == categoryId
select p.Type).Distinct();
}
Обратите внимание, что я изменил тип возвращаемого значения - он должен соответствовать любому типу ProdInfo.Type
.
Вы можете найти более читаемым для использования методов расширения для всего запроса, если само выражение запроса достаточно просто:
public static IQueryable<ProdType> GetDistinctProdType(
this IQueryable<ProdInfo> query,
int categoryId)
{
return query.Where(p => p.CatID == categoryId)
.Select(p => p.Type)
.Distinct();
}