微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

一、在使用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",date) == 0).Count();


更多参考:

EF日期格式筛选

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐