我有一个EntityDataSource,我必须过滤30天以前的所有项目。
我在MSSQL数据库上的方法:
protected void EntityDataSource1_Selecting(object sender, EntityDataSourceSelectingEventArgs e)
{
EntityDataSource1.WhereParameters.Clear();
EntityDataSource1.Where = "DATEDIFF(day, GETDATE(), it.CreateDate) < 30" ;
}
给出错误: DATEDIFF无法解析为有效的类型或函数
答案 0 :(得分:1)
您需要致电SqlServer.DATEDIFF()
,请使用此处:
EntityDataSource1.Where = "SqlServer.DATEDIFF(day, GETDATE(), it.CreateDate) < 30" ;
代替
EntityDataSource1.Where = "DATEDIFF(day, GETDATE(), it.CreateDate) < 30" ;
Here您发现类似问题,但DATEADD
功能