【发布时间】:2011-01-28 00:53:54
【问题描述】:
是否可以将此 linq 语句中的 Where 条件存储在变量中?
Func<NutritionValues, bool> condition;
if (isBarcode)
condition = f => f.barcode == name;
else
condition = f => f.food == name;
var foods = context.NutritionValues.Where(condition).
Select(f => new SerializableFood
{
Name = f.food,
Calories = f.energy_kcal,
Carbohydrates = f.carbohydrates,
Fats = f.fats,
Proteins = f.protiens
});
条件是 100% 正确的。如果我将条件f => f.barcode == name 直接写入 Where 函数,它可以工作,但这种方式不行。此代码返回空集。请问,你知道为什么吗?
【问题讨论】:
标签: linq linq-to-entities