原文地址:http://www.codeproject.com/Articles/249208/Extracting-a-SQL-CE-DB-from-Isolated-Storage-in-WP
1.介绍
Windows Phone –Mango已经使用Linq to Sql支持本地本地数据库(SQL CE),但是你可能不知道如何去提取这个.sdf数据库文件到本地计算机中去查看其内容。
我觉得在调试应用程序并且在确保我的数据库是否已经创建的时候是特别重要的。下面就是我们要做的事情。
2.开始一个示例
在本教程中,我们将需要一个使用本地数据库示例应用程序。如果你已经在Mango应用中使用了一个本地数据库(SQL CE),你可以跳过这一节,否则你可以从MSDN中下载一个本地数据库示例
下面是摘自MSDN:
在Windows Phone7.1,在你的应用程序独立存储容器中你可以使用Linq to Sql存储关系型数据到本地数据库。此示例是待办事项列表应用程序使用一个多表数据库。涉及到从本地数据库中添加,更新,删除 表数据。详情请了解: 如何使用 MVVM 为Windows Phone 创建本地数据库应用程序
3.数据库结构
我们看到在app.xaml.cs定义我们的数据库名称为ToDo.sdf
// Specify the local database connection string.
string DBConnectionString= "Data Source=isostore:/ToDo.sdf";
创建表和定义列的代码:
[Table]
public class ToDoItem
{
[Column( IsPrimaryKey = true )]
public int ToDoItemId { get;set; }
[Column]
public string ItemName { get;set; }
[Column]
public bool IsComplete { get;set; }
[Column]
public int _categoryId { get;set; }
[Column]
private Binary _version { get; set; }
}
请注意,我删除了所有有关mvvm简化这个例子。如果你想看到代码,请查看–>
ToDoDataContext.cs。此示例还有另一个表称为ToDoCategory,没有包含在本教程。
在,我们已审查了该数据库的样子,让我们看看它需要提取。自卫队文件从孤立的存储本地电脑。
运行应用程序并且输入一些数据,截图如下:
关闭运行的模拟器,导航到应用程序属性–> WMAppManifest.xml文件,用记事本打开,复制/粘贴它的产品编号
按如下路径打开您的计算机 “C:\Program Files (x86)\Microsoft SDKs\WindowsPhone\v7.1\Tools\IsolatedStorageExplorerTool” 输入如下命令:
ISETool.exe ts xd 8c0be8e6-11c1-44d8-be92-57f06cf52240
"C:\Users\MichaelCrump\Desktop\IsoStore"
下面是我的命令行窗口截图:
找到您指定的目录,您会看到您的.sdf数据库文件从Isolated Storage。Very cool!~
继续并切换到VS 2010服务器资源管理器,然后我们把sdf文件添加到项目中。右键单击数据连接,然后选择“添加连接”。
确定你选择的数据来源应该是:SQL Server Compact 3.5和然后点击浏览和选择刚创建的.sdf文件。
注意,在这个示例中我没有选择SQL Server Compact 4.0 Data Source.
点击ok,你应该看到你在mango应用程序中创建的数据库
现在如果你右键点击一个表,然后选择“显示表数据“就可以查看到当前存储的数据
4.总结
对于 SQL CE 数据库,IsolatedStorageExplorerTool
非常强大,在您的应用程序中任何独立存储都可以提取。它还可以从你的本地电脑中添加文件到你的设备应用程序IsolatedStorage
。Windwos Phone每发布一个版本,我们看到的工具越来越好。我非常高兴的看到未来的版本。我希望在这里可以帮到那些在处理wp7程序bug的人。谢谢您的阅读。