保存和恢复 DataTable c# 的最佳方式

Best way to save and restore a DataTable c#

我开发了一个 WinForm c# 应用程序,现在添加了一个恢复选项,因此如果它意外关闭等,一切都可以在新的 运行.

上恢复

我已经设法恢复了几乎所有的东西(列表、整数、字符串等...) 我面临的唯一问题是恢复 DataTable。在 运行 期间,我的申请记录被添加到此 DataTable 中,最终用户可以将其导出到 csv。

我试图将 DataTable 添加到 Properties.Settings.Default... 但它在新的 运行 上不起作用,我总是将其视为 Null

关于保存和恢复 DataTable 的最佳方法的任何建议请记住,在 运行 期间,他们的记录可能超过 10-15 k。

谢谢

Properties.Settings可以存储字符串数据,所以你可以序列化你的DataTable并存储它。稍后您可以反序列化字符串以获得 DataTable。您可以像这样使用 JSON.Net

var serializedDt = JsonConvert.SerializeObject(dt);
//store the string

取回:

DataTable yourDataTable = JsonConvert.DeserializeObject<DataTable>(serializedDt);

还有一点要补充,如果您需要大数据,那么您可以考虑在客户端将数据存储在数据库中的选项,例如 Sqlite

序列化对象,但将其放在恢复文件中。在恢复启动期间,只需读取文件,您就不必担心 space.