应用程序处于打开状态时强制关闭或重新启动应用程序时,SQL Server CE记录消失

时间:2015-07-22 14:11:20

标签: c# wpf database sql-server-ce

我的WPF应用程序中使用SQL Server CE的记录存在这个奇怪的问题。到目前为止,我已成功地将记录存储在我的数据库中。打开应用程序时,我有一组设置。我正在使用LINQPad来查看我的数据库记录。

以下是我保存数据库记录的方法。

using (var dbc = new MyDbContext())
{
    var settings = new UserSetting();
    settings.UserId = AppUser.User.Id;
    settings.MinimizeKey = minimizeKey;
    settings.StartStopKey = startStopKey;
    settings.IsStartAtStartUp = isStartAtStartUp ?? false;
    settings.IsStoreState = isStoreState ?? false;
    dbc.UserSettings.Add(settings);
    dbc.SaveChanges();
}

保存后,我查看我的设置表,我可以看到记录在那里。我的问题是,当我在应用程序当前打开时重启设备时。记录似乎消失了。另一方面,当我在重新启动之前关闭我的应用程序时,记录仍然存在。显然,在应用程序仍处于打开状态时重新启动设备并不是一个好习惯,但偶尔会发生这种情况,我希望我的记录仍然存在。

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

默认情况下,sql ce的刷新间隔为10秒。您可以通过添加:

将其设置为1秒
;Flush interval=1

连接字符串

或者您可以强制立即刷新,如下所述:http://erikej.blogspot.dk/2013/05/sql-server-compact-code-snippet-of-week_21.html