<强度 > UPDATE 强度 > : 我的原始问题无效, 因为我读错了 MySql 日志 。 抱歉。 请参看下面, 已更新 。
我使用 LINQ 查询 :
var homework = ctx.Threads.Where(t => t.ClassName == "10L"
&& t.EndDate != null
&& t.StartDate <= DateTime.Now
&& t.EndDate > DateTime.Now)
.OrderByDescending(o => o.EndDate)
.FirstOrDefault();
这创建了 SQL (MYSQL 5.5. 14):
SELECT
`Project1`.`id`,
`Project1`.`title`,
`Project1`.`startdate`,
`Project1`.`enddate`,
`Project1`.`class`,
`Project1`.`body`,
`Project1`.`threadtype`
FROM (SELECT
`Extent1`.`id`,
`Extent1`.`title`,
`Extent1`.`startdate`,
`Extent1`.`enddate`,
`Extent1`.`class`,
`Extent1`.`body`,
`Extent1`.`threadtype`
FROM
`threads` AS `Extent1`
WHERE (((`Extent1`.`class` = 10L )
AND (`Extent1`.`enddate` IS NOT NULL))
AND (`Extent1`.`startdate` <= (NOW())))
AND (`Extent1`.`enddate` > (NOW())))
AS `Project1`
ORDER BY `Project1`.`enddate` DESC
LIMIT 1
LINQ 到 EF 如何知道使用 < code> NOW () code > 函数? 我当然只是通过一个普通的 < code> DateTime 结构的数值?
如果我现在使用 var = DateTime. now;
,然后在 LINQ 查询中使用 现在的
变量, 日期会以字面形式传递。 正在发生什么?