Ric*_*tts 6 c# linq string entity-framework dynamic-linq
我正在使用Scott Guthrie的动态LINQ库以及Entity Framework和C#.
我必须根据几个因素将where字符串构建到变量中,然后将字符串变量传递给where子句.出于某种原因,这将有效:
ContactList = ContactList.Where("DateAdded >= @0", DateTime.Parse("12/1/2012"));
Run Code Online (Sandbox Code Playgroud)
但这不起作用
string WhereClause = string.Format("DateAdded >= {0}", DateTime.Parse("12/1/2012"));
ContactList = ContactList.Where(WhereClause);
Run Code Online (Sandbox Code Playgroud)
如前所述,我需要在传递变量的版本中使用它.谁知道为什么第二个不起作用?
提前致谢!
Ric*_*out 13
我能够使用这里的信息使用稍微不同的字符串格式.
这样做对我来说很好:
ContactList.Where("DateAdded >= DateTime(2013, 06, 18)")
Run Code Online (Sandbox Code Playgroud)
请注意,这对DateTimeOffset列不起作用.
看来我想要做的事情对于当前的 DynamicLINQ 库来说是不可能的。蒂拉克在下面详细概述了它不起作用的原因。
我的解决方案是修改 DynamicLINQ 库,以允许将查询写入字符串并传递给日期/时间数据类型的 where 子句。Paul Hatcher 在这里发现了修改:LINQ TO SQL, Dynamic query with DATE type fields
| 归档时间: |
|
| 查看次数: |
12182 次 |
| 最近记录: |