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

时间:2015-01-27 20:53:25

标签: c# winforms visual-studio-2010 crash restore

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

我设法恢复几乎所有东西(list,Int,Strings等......) 我面临的唯一问题是恢复DataTable。在运行期间,我的应用程序记录会添加到此DataTable,最后用户可以将其导出到csv。

我尝试将DataTable添加到Properties.Settings.Default ...但它不适用于新版本我始终将其视为Null

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

谢谢

2 个答案:

答案 0 :(得分:4)

Properties.Settings可以存储字符串数据,因此您可以序列化DataTable并存储它。稍后您可以反序列化字符串以获取DataTable。您可以使用JSON.Net之类的:

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

要取回:

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

要添加的另一件事是,如果您期望大数据,那么您可以查看将数据存储在客户端数据库中的选项,例如Sqlite

答案 1 :(得分:1)

序列化对象,但将其放在恢复文件中。在恢复过程中,只需阅读文件,您就不必担心空间。