1

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への表現を設定するだけです)。

4

1 に答える 1

0

これは、Visual Basic の単なるバグであることが判明しました。C# で問題なく動作します。ここで Jira を作成しました: https://jira.mongodb.org/browse/CSHARP-542

また、C# ではなく VB を含めるように質問タグを編集します。

于 2012-07-30T15:01:18.440 に答える