我有,我认为这是一个非常直接的查询。
在普通的 Sql 中,这将显示为:
SELECT [column names]
FROM agentscheduledetail
WHERE (date = '2012-07-04') AND
(
exception = 'Break (No Sign Off)' OR
exception = 'Break' OR
exception = 'Break (Signed Out)'
)
这将返回大约 900 条记录。
但是,当我尝试将其输入我的控制器时,我最终得到了大约 300,000 条记录 - 所以我认为我的 AND 和 OR 不起作用。我已经尝试过 Linqer,但无法让它工作(我知道这可能不是实际的 LINQ,而是 VS 中的等效查询 - 如果有 linq 版本......如果可能的)。
我的控制器查询是:
var dte = DateTime.Today;
return View(db.agentscheduledetails.Where
(
d => d.date == dte && d.agentName.StartsWith("ta") &&
(
d.exception == "Break (No Sign Off)" ||
d.exception == "Break" ||
d.exception == "Break (Signed Out)"
)
).ToList()
);
任何人都可以 a) 让我知道我的 && || 哪里出了问题 (和/或),或b)有没有一种方法可以单步执行VS中的代码,以查看上述查询在普通SQL中的含义,以便我可以尝试找出哪里出错了?
谢谢你的帮助,
标记