我试图通过MongoDB查询A,得到以下错误:
无法确定表达式的序列化信息:
c.indexMetadata.indexed.hasValue。
其中,indexed是可为空的datetime
我的问题是:

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

索引和更新都是可为空的日期时间类型
我想这是因为没有直接将hasvalue转换成mongo查询,有什么解决方法吗?

最佳答案

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

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

08-28 11:19