2012-07-28 40 views
1

MongoDB的C#驅動程序支持可空根據本吉拉票(Of T)已查詢: https://jira.mongodb.org/browse/CSHARP-483MongoDB的查詢使用VB.NET - 可空類型

不過,我有得到它的工作的問題。

mycol.AsQueryable.Where(Function(p) p.MyNullableInteger = 3) 

按照指示,我刪除了從查詢中.Value財產,然而,打破嚴格的類型,所以我不得不刪除我的Option Strict On條款。然後它編譯成功,但是我會非常喜歡

該條款早在PredicateTranslator拋出一個異常,如下所示:

不支持的where子句:(布爾)(p.MyNullableInteger ==(可空)3)

實際凡由.NET生成子句表達爲:

p =>轉換((p.MyNullableInteger == ConvertChecked(3)))

我使用的是驅動程序1.5。我的POCO類確實註冊了一個類圖,但映射並沒有在這裏引用屬性(它只是將字符串設置爲ObjectId來表示我的Id屬性)。

回答

0

原來,這只是Visual Basic中的一個錯誤。它在C#中正常工作。我在這裏創建了一個Jira:https://jira.mongodb.org/browse/CSHARP-542

我也要編輯你的問題標籤,以包含VB而不是c#。

+0

感謝克雷格。對不起,我原本打算在我的標題中說「C#driver」。很高興知道我不會生氣。我在這種情況下的解決方法是隻使用常規整數 - 我可以切換到C#我想也是:) – 2012-07-30 20:12:14

+0

是的,我試圖將名稱更改爲.net驅動程序。在這裏沒有歧視:)。我們所有的其他驅動程序都以它們支持的語言命名,因此是最初的推理。 – 2012-07-30 20:29:26