【发布时间】:2010-11-26 06:24:03
【问题描述】:
我正在使用 System.Linq.Dynamic 从 .Net MVC 1.0 中的 ajax 调用中自定义 where 子句。
它适用于字符串、int 等,但不适用于 DateTime,我得到异常无法将 String 与 DateTime 进行比较。非常简单的测试代码是
items = items.Where(string.Format(@" {0} > {1}{2}{1} ", searchField, delimiter, searchString));
其中 searchField 将是例如 start_date 并且数据类型是 DateTime,分隔符是 "(也没有尝试过)并且 searchString 将是 01-Jan-2009(也尝试过 01/01/2009)并且 items 是来自 LinqToSql 的 IQueryable。
有没有办法在动态where中指定数据类型,或者有更好的方法。它目前已经在使用一些反射来确定需要什么类型的分隔符。
【问题讨论】:
-
当一个问题有大量赞成票的答案时,它总是把我搞糊涂,但问题本身却有 0 票赞成。瘸。好问题,我来到这里是因为我需要同样的东西!给你点赞,好先生!
标签: c# linq dynamic system.linq.dynamic