EF日期筛选异常:SqlServer.DATEDIFF”函数的 DATEPART 参数必须是文字字符串。

来源:互联网 发布:linux 中ll命令不存在 编辑:程序博客网 时间:2024/06/05 17:18

一、在使用EF日期筛选的时候可能会出现这样的异常:“SqlServer.DATEDIFF”函数的 DATEPART 参数必须是文字字符串。”

出现异常的代码:

DateTime date = DateTime.Now.AddYears(-1);string dateType = "month";int count1 = _member.DbSet.Where(q => SqlFunctions.DateDiff(dateType, q.ActiveTime, date) == 0).Count();


出现异常的原因:

在表达式中,好像DateDiff中的 日期格式参数不支持变量传入。

解决方案:

这样指定就不会异常了。

int count2 = _member.DbSet.Where(q => SqlFunctions.DateDiff("month", q.ActiveTime, date) == 0).Count();


更多参考:

EF日期格式筛选

0 0
原创粉丝点击