這裏被簡化代碼實體框架執行表達
from oi in orderItems
group oiGrouped by ...
into orderItemsGroupedBySomething
select new
{
Key = orderItemsGroupedBySomething.Key,
Revenue = /*Here is some code that I want to extract to separate method, for example*/
orderItemsGroupedBySomething.Sum(x => x.UnitPrice * x.Quantity)
}
其實這是在我的情況更加複雜。但我認爲這並不重要。我無法提取到orderItemsGroupedBySomething.Sum(x => x.UnitPrice * x.Quantity)
的簡單方法計算,因爲它不是EntityFramework的已知方法。我試圖把它表達,但我得到錯誤"The LINQ expression node type 'Invoke' is not supported in LINQ to Entities."
我編譯表達式之前在查詢中使用它,我想因此我得到錯誤。我怎麼解決這個問題?
當你編譯一個'表達>'你實際上得到了'Func鍵<>',而不是一個表達式樹,實體框架可以檢查和翻譯。 –
@LorentzVedeler是的,你是對的。有沒有其他的方式來執行它? –