如何将SqlCe数据库部署到用于Windows Phone的isolatedStorage

时间:2011-07-15 13:40:45

标签: windows-phone-7 sql-server-ce

说,我想使用现有的SqlCe数据库,其中包含HAS数据。我不确定哪种方法最好。

1)这是为Windows phone创建SqlCe数据库的常规方法

using (CountryDataContext context = new CountryDataContext(ConnectionString))    
    {         
        if (!context.DatabaseExists())        
        {            

        // create database if it does not exist            
            context.CreateDatabase();        
        }    
    }   

但是这个数据库里面有数据,所以我不想创建它。我想部署它或存储在isolatedStorage中。

我该怎么办?我想使用数据库中已有的数据。

由于

3 个答案:

答案 0 :(得分:3)

您可以将数据库文件作为内容包含在应用程序项目中,然后在构建时将其放入XAP中并复制到手机上的应用程序安装目录中。

你会修改这个数据库吗?

  • 如果没有:您可以直接从安装目录访问数据库,未来的更新将自动获取数据库的任何新版本(只要您记得将它们添加到XAP中)。

    < / p>

  • 如果您确实修改了它:那么在首次安装时,您需要在使用之前将数据库复制到独立存储。您需要注意是否使用将来的更新来更新数据库方案。

  • 答案 1 :(得分:3)

    通常,模式是创建数据库并使用它配置种子数据。

    或者,如果数据库是只读的,则可以将其与应用程序一起部署。请参阅MSDN上的How to: Deploy a Reference Database with a Windows Phone Application

    如果要从开发计算机部署数据库以进行测试,可以使用ISETool可以将应用程序隔离存储的快照复制到本地目录或从本地目录恢复:

    # Copy data from IS to directory
    ISETool.exe ts xd <PRODUCT-ID> "C:\TempDirectory\IsolatedStore"
    
    # Copy data to IS from directory
    ISETool.exe rs xd <PRODUCT-ID> "C:\TempDirectory\IsolatedStore"
    

    答案 2 :(得分:2)