MongoDB C#驱动程序根据此Jira票证支持Nullable(Of T)上的查询: https://jira.mongodb.org/browse/CSHARP-483
但是,我遇到了让它运转的问题。
mycol.AsQueryable.Where(Function(p) p.MyNullableInteger = 3)
按照说明,我从查询中删除了.Value
属性,但这打破了严格的输入,因此我不得不删除Option Strict On
子句。然后它成功编译,但我理想情况下会喜欢该条款。
PredicateTranslator抛出异常如下:
不支持的where子句:(布尔值)(p.MyNullableInteger ==(Nullable)3)
.NET生成的实际Where子句表达式为:
p =>转换((p.MyNullableInteger == ConvertChecked(3)))
我正在使用驱动程序1.5。我的POCO类确实注册了一个类映射,但是这里的映射没有引用该属性(它只是为我的Id属性设置从String到ObjectId的表示)。
答案 0 :(得分:0)
原来这只是Visual Basic中的一个错误。它在C#中运行良好。我在这里创建了一个Jira:https://jira.mongodb.org/browse/CSHARP-542。
我还要编辑你的问题标签以包含VB而不是c#。