我有一个方法,它接受一个 ObjectQuery 并向它添加 Where 子句,具体取决于它是否接收各种过滤器参数的值。该方法必须返回一个 ObjectQuery。我如何进行基本的日期比较,例如 dateX < dateY。
这是我当前的代码:
if (myDateFilter != null)
{
query = query.Where(
string.Format(
"it.ExpireDate < cast('{0}' as System.DateTime)",
myDateFilter));
}
当 myDateFilter 的值为 DateTime.Now 时,此代码显示: System.Data.SqlClient.SqlException:将 varchar 数据类型转换为 datetime 数据类型导致值超出范围。
所有其他参数都是字符串或整数过滤器,因此实现起来不是问题。有任何想法吗??