我目前正在開發一個應用程序,當我向前(一個學習像RavenDB這樣的東西的小型項目)更改文檔時,這個應用程序很多。某些更改不會向後兼容,這會導致在嘗試獲取文檔時發生JSON反序列化失敗。RavenDB:將文檔屬性轉換爲另一種類型
在反序列化過程中,我是否有某種方式將屬性從舊類型轉換爲新類型?我使用Raven.Client.Lightweight
作爲客戶端庫。
例子:
我有一個名爲AllProperties
在一類是Dictionary<string,string>
屬性。我將字典的類型更改爲名爲MetadataItemCollection
的類。
這是真正做你正在嘗試的正確方法嗎?換句話說,您是不是應遵循SOLID的第二條規則,即「打開關閉原則」,其中模塊可以進行擴展,但對於修改是封閉的?如果你正在改變屬性名稱,那麼也許你應該從頭開始刪除文檔並重新創建,然後一旦你的核心結構是穩定的實現接口允許擴展?思考? – Jethro
@Jehtro:你認真嗎? – jgauffin