MongoDB C#Nullable日期时间查询

jac*_*per 2 .net c# datetime mongodb mongodb-.net-driver

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

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

其中Indexed是可以为空的日期时间

我的查询如下:

Collection.AsQueryable<Candidate>(c => !c.IndexMetadata.Indexed.HasValue || c.IndexMetadata.Updated.Value > c.IndexMetadata.Indexed.Value).ToList();
Run Code Online (Sandbox Code Playgroud)

这两个索引更新,可为空的日期时间类型

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

i3a*_*non 6

您可以比较DateTime?null而不是使用HasValue:

Collection.AsQueryable<Candidate>(
    c => 
        c.IndexMetadata.Indexed == null || 
        c.IndexMetadata.Updated.Value > c.IndexMetadata.Indexed.Value).
    ToList();
Run Code Online (Sandbox Code Playgroud)