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 => Convert((p.MyNullableInteger == ConvertChecked(3)))
私はドライバー1.5を使用しています。私のPOCOクラスはクラスマップを登録しますが、マッピングはここでプロパティを参照しません(これは、Idプロパティの文字列からObjectIdへの表現を設定するだけです)。