本文主要是介绍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", q.ActiveTime, date) == 0).Count();
EF日期格式筛选
这篇关于EF日期筛选异常:SqlServer.DATEDIFF”函数的 DATEPART 参数必须是文字字符串。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!