到目前爲止,我在Web上發現的所有序列化示例都與將數組或列表存儲在文件中有關。每類對象都必須被序列化到他們自己的文件中,比如「.bin」。我的問題的根源在於我希望將本地產品的信息存儲在本地,但我非常習慣於使用sql。我很難想象如何在本地存儲信息。如果C#與asp類似,我應該可以連接到Access數據庫,但這幾乎違背了用戶不可讀性的序列化思想之一。是否有序列化方法類似於使用表和字段,或者至少允許您將所有用戶信息存儲在一個文件中?是否有一種類似於數據庫的序列化方法
4
A
回答
1
您可以使用序列化並存儲在本地的ADO.NET數據集。它將包含您熟悉的所有數據結構,並允許您按照您希望的方式查詢數據,並且如果您使用Binary Serializer對其進行序列化,最終用戶將無法讀取它。
此外,你可以看看SQLite作爲使用數據集的替代方案。
SQLite是一個軟件庫, 實現了一個自包含的,無服務器 ,零配置,事務性 SQL數據庫引擎。 SQLite是世界上部署最廣泛的SQL數據庫引擎。 SQLite的 源代碼位於公共域 中。
NHibernate與SQLite是一個很好的組合。
乾杯。
1
退房NHibernate。這會給你「類似數據庫」的存儲空間。
如果它是人類可讀性,那麼請考慮使用XML序列化對象。 .Net對使用XML和二進制格式序列化(和反序列化)對象有相當的支持。
我用於在C#中學習序列化的教程是this CodeProject article。
更新:
我誤解你做一點:序列化並不一定意味着人類可讀與否 - 如果你決定序列,找出你想要的數據可讀與否。二進制序列化可能更緊湊,可讀性更差。
相關問題
- 1. 是否有類似於OnOrientationChanged的方法?
- 2. 是一種類似於靜態方法的函數嗎?
- 3. Flex是否有類似於jQuery的庫?
- 4. 是否有一個具有類似git特質的數據庫?
- 5. 是否有一種數據類型爲int的列的加密方法?
- 6. 它是一種在Java中序列化JSON數據的有效方法嗎?
- 7. 對於JS/React,ViewDid是一種類似的方法嗎?
- 8. 有沒有一種方法string.TryFormat工作類似於string.Format?
- 9. Jquery:是否有一個類似於$(document).ready()的基於元素的方法?
- 10. 是否有類似於mysql的sqlsrv庫的函數mysql_real_escape_string?
- 11. 是否有一個類似於GNU readline的.Net庫?
- 12. 是否有類似於initComponent的Ext.create方法?
- 13. wxPython中是否有類似於tk.IntVar()的方法?
- 14. 是否有一種XOOPS方式來列出數據庫表的內容?
- 15. 通過類似於.58的數據庫的順序排列.058
- 16. 將三種類似的方法合併爲一種方法
- 17. 正常化具有類似數據類型的各種屬性
- 18. 在Clojure中,是否有一種替代方法可以將一個函數應用於所有的序列?
- 19. 是否有一個類似於useColumns()的SimpleJdbcInsert方法,它將排除列列表作爲參數?
- 20. 是否有另一種方法來驗證$ _POST數據?
- 21. Ruby是否有一個類似於Perl 6語法的插件?
- 22. 是否有一種語言具有這種簡化的語法?
- 23. 轉換數據幀類型的Python類型或只是一種序列化
- 24. 如何直接POST到數據庫(類似於S3 post方法)?
- 25. 是否有一種簡單的方法來在數據庫列中定義項目列表
- 26. 查詢jpa數據庫時是否可以使用類似這樣的方法?
- 27. 是否有一種簡單的方法可以將Pandas數據框中的一列是/否更改爲1/0?
- 28. 瞭解什麼似乎是一種方法的實例化
- 29. SQL中是否有類似的計數方法,如mysql_num_row
- 30. 在Swift中,是否有一種確定枚舉是否基於某種類型(例如字符串)的方法?
他提到序列化的好處之一是**非可讀性。 – 2010-07-03 06:00:32
序列化並不意味着數據可讀或不可讀。我使用的是序列化技術,它們都是可讀的,而不是。如果OP擔心保護序列化數據,則應使用加密或至少基本混淆。 – 2010-07-03 16:39:57