【发布时间】:2021-09-17 04:48:47
【问题描述】:
我有一个包含一系列日期的日历表,我正在尝试编写一个查询,每 N 个日期给我一次。我可以在 SQL 中毫无困难地做到这一点,但是当用 IQueryable 和 Where 条件编写它时,我似乎无法让它工作。
例如,我可以在 SQL 中执行类似的操作来获取每三个日期:
Select _date
from Calendar
where datediff(day, startdate, _date) % 3 = 0
但是一个类似的IQueryable lambda 表达式会抛出一个System.ArgumentException(当查询被执行时)
var q = dbcontext.Calendar
.Where( c => (c._date - startdate).Days % 3 == 0);
有没有其他方法可以让它工作?
【问题讨论】:
标签: c# entity-framework lambda iqueryable