【发布时间】:2012-12-10 17:18:07
【问题描述】:
我是 .NET 新手,有人要求我对项目进行一些更改。它使用的是 Entity Framework 3.5。
我们目前有如下代码块:
using (MemphisEquipmentEntities entities = new MemphisEquipmentEntities())
{
var trucks = entities.Trucks.Top("4");
truckRepeater.DataSource = trucks;
truckRepeater.DataBind();
}
我需要在 IsSpanish 为 true 的情况下获取前 4 名卡车,而不是前 4 名卡车。于是我写了代码
var trucks = entities.Trucks.Top("4").Where(t => t.IsSpanish == true)
不幸的是,这并没有按照我想要的顺序进行评估。它将前四辆卡车拉出桌子,然后检查它们是否是西班牙人,如果不是,则丢弃它们。切换 top/where 子句不起作用 - 它会引发错误。
谁能引导我朝着正确的方向前进?我的 Google 技能让我失望,而且我一无所知。
【问题讨论】:
-
将你的 .Top() 移到 .Where() 之后我无法测试并获得经过验证的代码,所以我不会给出这个答案。
标签: .net frameworks entity where iqueryable