【发布时间】:2020-11-23 08:01:41
【问题描述】:
在 EF Core 3.1 中,我有以下模型
public class Advertisement
{
public int Id { get; set; }
public string Title { get; set; }
public DateTimeOffset? EndPeriod { get; set; }
public TimeSpan Duration { get; set; }
}
我有一个简单的要求,即使用 LINQ 检查广告结束时间是否小于当前日期加上持续时间。
我试过了
ads.Where(a => EF.Functions
.DateDiffMinute(a.EndPeriod, DateTimeOffset.Now.Add(a.Duration)) <= 0)
但抛出一个错误说:
InvalidOperationException:无法翻译 LINQ 表达式。要么以可翻译的形式重写查询,要么切换到客户评估。
有没有办法在没有客户端评估的情况下解决这个问题?
【问题讨论】:
-
这不是 EF Core 5.0 的特性吗?
-
对不起,我错过了。
标签: c# ef-core-3.1