У меня есть скомпилированный запрос, который отлично работает. Я передаю ему product_id, и он возвращает информацию о товаре для этого продукта.
Можно ли использовать этот скомпилированный запрос в качестве источника для подзапроса? Пример:
from cat in ctx.cat_table
join prod in ctx.prod_table on cat.category_id equals prod.category_id
select new
{
cat_id = cat.category_id,
prod_id = prod.product_id,
name = prod.product_name,
descript = prod.product_description,
price = prod.price,
reviews = (from mcq in mycompiledquery(ctx, prod.product_id)
select new
{
rating = mcq.review_rating,
review = mcq.review_text
}
}
Мои ранние попытки сделать что-то подобное вызывают ошибку:
Тип узла выражения LINQ 'Invoke' не поддерживается в LINQ to Entities
Одна альтернатива, о которой я подумал, - это заменить мой скомпилированный запрос представлением SQL, но меня беспокоит отрицательное снижение производительности.
Большое спасибо за любые предложения, которые вы можете предложить.