2011-08-22 116 views
3

我目前正在開發一個應用程序,當我向前(一個學習像RavenDB這樣的東西的小型項目)更改文檔時,這個應用程序很多。某些更改不會向後兼容,這會導致在嘗試獲取文檔時發生JSON反序列化失敗。RavenDB:將文檔屬性轉換爲另一種類型

在反序列化過程中,我是否有某種方式將屬性從舊類型轉換爲新類型?我使用Raven.Client.Lightweight作爲客戶端庫。

例子:

我有一個名爲AllProperties在一類是Dictionary<string,string>屬性。我將字典的類型更改爲名爲MetadataItemCollection的類。

+0

這是真正做你正在嘗試的正確方法嗎?換句話說,您是不是應遵循SOLID的第二條規則,即「打開關閉原則」,其中模塊可以進行擴展,但對於修改是封閉的?如果你正在改變屬性名稱,那麼也許你應該從頭開始刪除文檔並重新創建,然後一旦你的核心結構是穩定的實現接口允許擴展?思考? – Jethro

+0

@Jehtro:你認真嗎? – jgauffin

回答

3

如果你在開發過程中這樣做,你可能會更好刪除舊文檔並重新創建它們 如果您是在製作中進行此操作,請查看dlang發佈的帖子,他們會討論這些具體問題。

相關問題