我试图通过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();