我有一個很好的編譯查詢。我將它傳遞給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
}
}
我在做這樣的事情早期的嘗試引發錯誤:
The LINQ expression node type 'Invoke' is not supported in LINQ to Entities
一種替代方法我也想過是一個SQL視圖來代替我的編譯的查詢,但我擔心負面表現受到打擊。
非常感謝您提供的任何建議。
謝謝你有道理。我讚賞直截了當的比較。 – karman 2011-04-10 03:31:23