1

似乎官方的MongoDB C#驅動程序在SilverLight中不受支持。我想在服務器端使用MongoDB並通過WCF將數據傳遞給silverlight客戶端。MongoDb + Silverlight - [BsonId]作業

問題是我的POCO中的Id屬性 - 因爲我無法將一個非silverlight項目導入到silverlight中 - 我不能在我的POCO中使用[BsonId]ObjectId,這應該由服務器和客戶。

我在這裏看到關於將Id成員作爲字符串的問題,但在DB中表示爲ObjectId,但我還沒有看到解決方案。

什麼是有

public string Id { get; set; } 
在我的課

,但仍享有對事物的服務器端的ObjectId利益的最佳途徑?

我見過this page,我試過使用SetIdMemberMapIdProperty,_id在插入的文檔上爲null。

回答

1

結帳這裏的文檔表示選擇:http://www.mongodb.org/display/DOCS/CSharp+Driver+Serialization+Tutorial#CSharpDriverSerializationTutorial-RepresentationSerializationOptions

或者,您可以在您的代碼以及在數據庫中使用GUID,而不是需要查詢時做心理轉換。

+0

我試過那裏描述的方式使用字符串,我不能讓它工作 - 它總是空。我切換到CombGuid,它的工作原理。謝謝 – Madd0g

+0

我總是使用Guids,因爲我的大部分工作都需要使用MongoDB以及像Sql Server這樣的關係數據庫。使用Guids意味着我不必翻譯標識符。很高興它解決了。 –