【发布时间】:2021-01-13 03:14:34
【问题描述】:
我正在尝试使用 linq 查询星期几,并且我拥有 ms 访问权限作为数据库。现在我使用以下代码使用 % (mod) 来检查星期几,因为 linq to query 不支持 DayOfWeek。
planQuery = planQuery.Where(x => DbFunctions.DiffDays(firstSunday, x.Date) % 7
== (int)DayOfWeek.Monday && x.Date != null);
但是当这段代码翻译成sql时出现问题,看起来像这样:
SELECT *
FROM myTable
where (DateDiff("d", [Datum], 1) % 7) = 1
当我尝试运行它时又会抛出语法错误,因为 %.环顾四周后,我意识到 % 相当于 ms 访问是 mod
所以下面的代码运行良好。但这不是翻译后的 SQL 的样子。
SELECT *
FROM myTable
where (DateDiff("d", [Datum], 1) mod 7) = 1
如何通过 linq 使用 mod 函数查询 ms 访问权限?
【问题讨论】:
-
您使用哪个客户端连接到 MS-ACCESS? - 这可能是一个错误:-|
-
@Stefan JetEntityFrameWork
标签: c# linq ms-access dayofweek