c# - 动态 LINQ 日期时间比较字符串构建 - Linq To Entities

标签 c# string linq entity-framework dynamic-linq

我将 Scott Guthrie 的动态 LINQ 库与 Entity Framework 和 C# 一起使用。

我必须根据几个因素将我的 where 字符串构建到一个变量中,然后将字符串变量传递给 where 子句。出于某种原因,这将起作用:

ContactList = ContactList.Where("DateAdded >= @0", DateTime.Parse("12/1/2012"));

但这行不通

string WhereClause = string.Format("DateAdded >= {0}", DateTime.Parse("12/1/2012"));
ContactList = ContactList.Where(WhereClause);

如前所述,我需要在传递变量的版本中使用它。有谁知道为什么第二个不起作用?

提前致谢!

最佳答案

我能够使用信息 here 使其使用略有不同的字符串格式.

这样做对我来说效果很好:

ContactList.Where("DateAdded >= DateTime(2013, 06, 18)")

请注意,这对 DateTimeOffset 列根本不起作用。

关于c# - 动态 LINQ 日期时间比较字符串构建 - Linq To Entities,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14126271/

相关文章:

c# - DateTime 在使用 Refit 序列化并用作 url 参数时失去精度

java - Eclipse 提示以下 String.format 用法

linq - linq中foreach的 yield 返回

c# - IEnumerable 与 IQueryable 对象 - LinQ to SQL

c# - 告诉 Json.Net 在序列化对象时编写单引号而不是双引号

c# - 初始化数组变量时出错

用于单词和单个空格的 Python 正则表达式

java - 如何从字符串生成Java源代码?

c# - 通用表达式过滤器

c# - 转换在 LINQ 对象中创建的值