【发布时间】:2016-09-17 07:37:35
【问题描述】:
搜索了很多,但没有找到适合我的解决方案。我在lambda expression 中引入了一个变量,这就是显示此错误消息的原因。此外,我可以解决编写“SQL Like Linq Query”的问题,但这不是我的期望..我的期望是在“Linq Using Lambda Expression”中引入变量。有没有可能??
带有语句体的 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();
【问题讨论】: