【发布时间】:2021-08-25 12:53:38
【问题描述】:
我正在尝试使用 LINQ to 实体查询 SQL 中的表,并将年份添加到日期列。
我已尝试以下查询:
data = data.Where(x => x.DueDate.Value.AddYears(1) >= DateTime.Now);
执行此操作时,我收到以下错误消息:
LINQ to Entities 无法识别方法 'System.DateTime AddYears(Int32)' 方法,并且该方法无法转换为存储表达式。
我做了一些研究,似乎大多数人通过将查询分离出来并使用他们输入到表达式中的变量来解决这个问题。
我不能这样做,因为我需要将年份添加到我的数据 lambda 表达式中并且无法将它们分开。
有没有一种简单的方法来解决这个问题,或者有没有一种方法可以创建一个伪列来增加一年而不实际创建一个实际的表列?我试图避免仅仅为了在显示的日期上添加一年而创建一个全新的 SQL 列。
感谢您的帮助。
【问题讨论】:
标签: c# sql asp.net-mvc linq