Sql Compact作为XAP中的嵌入式资源或内容

时间:2014-06-03 06:26:08

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

我想将带有SQL CE的.XAP文件部署到windows设备。我该怎么做才能使其在XAP文件中具有包容性?我是否必须将其设为“嵌入式资源”或“内容”?

感谢。

2 个答案:

答案 0 :(得分:0)

取决于:

如果要使数据库文件可读,请包含为嵌入式资源,并提取到隔离存储并使用如下连接字符串:

Data Source=isostore:/Chinook.sdf

如果要将数据库用作只读,请包含为内容,并使用如下连接字符串:

Data Source=appdata:/Chinook.sdf;File Mode=Read Only;

我的博客文章中的更多详细信息:http://erikej.blogspot.dk/2012/01/windows-phone-local-database-tip.html

答案 1 :(得分:0)

使用内容。将数据库文件设置为Embedded Resource会将其添加到DLL中,这将影响应用程序的启动时间(假设DLL位于启动路径中)并且会使应用程序的内存使用量膨胀。

如果要将数据库文件复制到隔离存储区以启用读/写,可以使用WP7.x中显示的here代码或WP8.x的以下(更简单)代码:

var dbFile = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///myDb.sdf"));
await dbFile.CopyAsync(Windows.Storage.ApplicationData.Current.LocalFolder, "myDb.sdf", NameCollisionOption.FailIfExists);