搜索很多,但沒有找到適合我的解決方案。我在lambda expression
中引入了一個變量,這就是顯示此錯誤消息的原因。此外,我可以解決編寫「SQL Like Linq Query」的問題,但這不是我的期望。我的期望是在「Linq使用Lambda表達式」中引入變量。這可能嗎?帶有語句正文的lambda表達式無法轉換爲表達式樹(Lambda和Linq)
帶有語句正文的lambda表達式不能轉換爲表達式樹。
這裏是我的代碼:
IQueryable<IGrouping<int, AnimalFood>> animalFoods = db.AnimalFoods.GroupBy(x => x.FoodId);
IQueryable<FoodSummaryViewModel> foodSummaryViewModel = animalFoods.Select(g =>
{
var animalFood = g.FirstOrDefault();
return new FoodSummaryViewModel()
{
FoodName = animalFood.Food.FoodName,
FoodPrice = animalFood.Food.UnitPrice,
TotalFoodQuantity = g.Sum(x => x.Animal.AnimalQuantity * x.FoodQuantity),
TotalPrice = g.Sum(x => x.Animal.AnimalQuantity * x.FoodQuantity) * animalFood.Food.UnitPrice
};
});
return foodSummaryViewModel.ToList();
的[「與語句體lambda表達式不能轉換爲表達式樹」]可能的複製(http://stackoverflow.com/questions/5179341/a-lambda-expression-with-a-statement-body-can-be-conversion-to-a-expression) –