我正在使用DynamicLinq dll执行动态linq,其中我发送的动态过滤器的构造方式如下所示
"CreatedDate=System.DateTimeOffset.Parse(\"2017-11-17 22:07:04.9192538 +00:00\")",
但是,我收到系统不存在的错误。但是,我也试过以下但没有运气。
"CreatedDate=(\"2017-11-17 22:07:04.9192538 +00:00\")",
但收到以下消息
运算符'='与操作数类型'DateTimeOffset'和'字符串'(在索引11处)不兼容
使用动态linq和EF过滤日期时间偏移列的正确方法是什么?
代码
IQueryable<T> query = Set<T>();
if (!string.IsNullOrEmpty(filter))
query = Dynamic.DynamicQueryable.Where(query, filter);
答案 0 :(得分:0)
如果将字符串解析为DateTimeOffset对象,如:
var dateTime = DateTimeOffset.Parse("2017-11-17 22:07:04.9192538 +00:00")
然后你可以使用它:
query.Where("CreatedDate==DateTimeOffset(@0)", dateTime)