使用单击一次应用程序在隔离存储中管理SDF

时间:2015-11-30 12:51:28

标签: .net wpf sql-server-ce isolatedstorage

我的应用程序是在WPF中开发的。我使用隔离存储来保存一些应用程序数据。我使用click一次来部署这个应用程序。

我的问题是:在第一次运行我的应用程序时,我正在隔离存储中创建一个SQL Server CE数据库(.sdf文件)。

using (SqlCeEngine engine = new SqlCeEngine(connectionString))
{
    engine.CreateDatabase();

    //Getting script from embedded resource file and split into individual queries
    var queries = GetScript("TestDB").Split(new string[] { "GO" }, StringSplitOptions.RemoveEmptyEntries);
    //run script on database one by one
    using (SqlCeConnection sqlCeConnection = new SqlCeConnection(connectionString)) //my connection string path is of isolated storage directory
    {
        sqlCeConnection.Open();

        foreach (var query in queries)
        {
            using (SqlCeCommand ceCommand = new SqlCeCommand(query, sqlCeConnection))
            {
                ceCommand.ExecuteNonQuery();
            }
        }
    }
}

每当我想在客户端的隔离存储中迁移现有数据库中的某些更改时,我执行我在应用程序中添加的脚本作为嵌入资源。

 using (SqlCeConnection sqlCeConnection = new SqlCeConnection(connectionString1))
                    {
                        sqlCeConnection.Open();

                        foreach (var query in queries)
                        {
                            using (SqlCeCommand ceCommand = new SqlCeCommand(query, sqlCeConnection))
                            {
                                ceCommand.ExecuteNonQuery();
                            }
                        }
                    }

我不知道为什么,但无论我在哪里发布新版本,只要它生成一个新的隔离存储位置。

即使我正在申请以下商店。

IsolatedStorageFile.GetUserStoreForApplication(); 

由于

0 个答案:

没有答案