簡體   English   中英

版本和序列化

[英]Versioning and Serialization

因此,這是有關序列化和版本控制的問題。 我有一個程序,它是一個音樂數據庫,該數據庫存儲帶有Name,Composer等的活頁樂譜...我將每首歌曲序列化到一個隱藏的文件夾中,以便用戶在下次啟動時可以重新加載該數據庫。

現在,當我必須更改Song類中的某些內容時,如果它是兼容的更改,那一切都很好。 我的想法是,如果要進行不兼容的更改,則可以創建第二個具有相同名稱“ Song”但具有不同VersionUID的類。 然后,當它讀取歌曲時,如果保存的版本與最新版本不匹配,它將轉到一種將歌曲讀取為舊UID的方法,然后執行一系列步驟將其轉換為新版本。 有可能嗎?

我確實知道您可以使用名稱相同但參數不同的多個方法。 這可以與類和VersionUID或其他變量一起使用嗎?

謝謝!

不,它不會。 類不支持“屬性重載”之類的概念,因此,具有相同名稱的類將被視為同一類,即使它具有不同的屬性。

對您而言,“最佳”方法是與EntityFramework6一起遷移到關系數據庫(那里有一個SQLite適配器,因此您不需要SQLServer)。 借助EF,您可以使用遷移,該遷移使您可以更改模型並自動遷移數據。 如果操作正確,您可以更改模型,並且不會丟失數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM