【发布时间】:2011-05-29 22:03:05
【问题描述】:
我正在构建一个 WPF 应用程序,其中包含一个带有“标准”输入(文本框、单选按钮等控件)的表单。如果我需要在本地存储表单的数据,您认为最直接的方法是什么?
谢谢。
【问题讨论】:
标签: wpf local-storage
我正在构建一个 WPF 应用程序,其中包含一个带有“标准”输入(文本框、单选按钮等控件)的表单。如果我需要在本地存储表单的数据,您认为最直接的方法是什么?
谢谢。
【问题讨论】:
标签: wpf local-storage
我会说 XML 序列化是最简单的,它不需要额外的数据库,并且您的普通 CLR 对象可以立即序列化。我将它用于设置文件和其他东西,但不建议将它用于大型数据集,因为所有开销(不能真正告诉你什么是太大,它还取决于你需要存储/检索数据的频率)。
【讨论】:
另一种选择是使用不需要安装的 SQLite 或类似的嵌入式数据库。
【讨论】:
我认为这将取决于您需要如何处理数据。如果您只是想保持表单的状态,那么您可以使用 .Net 4 的 Memory Mapped Files 功能(如果您不能使用 .Net 4,那么其他一些序列化格式可能也可以,您只需要管理序列化/反序列化)。
如果您需要在应用程序中对数据进行任何类型的复杂操作,那么我会说使用 SQLite 或 Sql Server Compact 之类的东西(如果您喜欢这种类型,它将为您提供 Linq 支持的东西)。
另一种中间立场可能是键值存储。我不知道在.Net 中实现了多少,但Ayende 创建了一个,您可以在GitHub 找到它。我过去确实使用过它,发现它很容易设置和使用。
【讨论】: