MongoDB C#Nullable日期时间查询

时间:2014-04-19 07:19:11

标签: c# .net mongodb datetime mongodb-.net-driver

我正在尝试查询mongoDB,我收到以下错误:

  

无法确定表达式的序列化信息:   c.IndexMetadata.Indexed。的的HasValue

其中已编入索引是可以为空的日期时间

我的查询如下:

Collection.AsQueryable<Candidate>(c => !c.IndexMetadata.Indexed.HasValue || c.IndexMetadata.Updated.Value > c.IndexMetadata.Indexed.Value).ToList();

已编入索引已更新是可以为空的日期时间类型

我想这是因为HasValue没有直接转换为mongo Query,是否有任何解决方法?

1 个答案:

答案 0 :(得分:6)

您可以将DateTime?与null进行比较,而不是使用HasValue

Collection.AsQueryable<Candidate>(
    c => 
        c.IndexMetadata.Indexed == null || 
        c.IndexMetadata.Updated.Value > c.IndexMetadata.Indexed.Value).
    ToList();