一只大菜鸟,最近要学习windows phone数据库相关的知识,找到了一些比较简短的教程进行学习,由于是英文的,顺便给翻译了。本身英语水平就不好,估计文中有不少错误,如果有不幸读到的童鞋请保持对翻译质量的质疑,多多指教。

这是原文地址:http://windowsphonegeek.com/tips/Windows-Phone-Mango-Local-Database%28SQL-CE%29-Introduction

正文如下:

我开始了一个新的系列——Windows Phone Mango本地数据库(SQLCE)。为了让你开始在Windows Phone Mango中使用数据库,这一系列短篇文章将覆盖所有你需要知道的知识点。这个系列包含以下内容:

    Windows Phone Mango Local Database(SQL CE): Introduction

这是这个系列中的第一篇文章,我将给出一个简短的关于本地数据库的介绍,除此之外还有在Windows Phone Mango的应用程序中开始使用SQLCE数据库之前,你需要知道的内容。

1、什么是本地数据库?

首先,第一次说到windows phone mango,你现在可以在IsolatedStorage中保存关系数据到本地数据库。在windows phone中,所有应用程序都是相互“隔离”的,这意味着一个程序只能访问它自己的IsolatedStorage,即一个数据库只能应用于一个应用程序,并不能在几个应用程序中共享。

windows phone中的本地数据库是SQL Compact关于mango的一个实现。这是内存/嵌入式上的关系数据库管理系统(RDB MS)。本地数据库非常适用于有关系实体(related entities)的场景。例如:客户和订单。

下面的场景非常适合使用本地数据库:
1、较多的关系表/实体,包含含有适量的记录(不大不小)
2、少数包含大量的记录或数据的表格
3、本地缓存的数据来自云计算
 
一个本地数据库有以下优点:
1、在数据库中使用复杂查询变得更加高效和快捷的能力
2、允许数据在特定的时刻加载到内存中(这句话实在不懂得怎么翻译才好)
3、可以做一些操作,比如:添加,移除,插入,删除,所有的这些操作都是通过SQL Compact runtime进行高效地处理
 
为了在windows phone中使用本地数据库,你需要注意下面步骤
1、实现所有数据库类:tables(表),columns(列),relations(关系),datacontext等
2、在IsolatedStorage中建一个新的数据库(.sdf)文件(默认情况下,数据库是空的)
3、在IsolatedStorage中使用数据填充这个数据库
 

在开始之前,你需要知道的关于SQL CE的8件事情
1、LINQ TO SQL 被用作ORM引擎
2、数据库文件存储在IsolatedStorage
3、LINQ常用作于查询数据,不支持T-SQL
4、不需要分配程序集以致增加应用程序的大小,对WindwosPhoneMango本地数据库的支持是Framework的一部分。
5、System.Data.Linq这一个程序集必须添加到项目中
6、使用一个特殊格式的连接字符串,比如这个例子:
"Data Source='isostore:/DIRECTORY/FILE.sdf'";
7、windows phone mango这个版本使用代码优先的方法来定义数据库模式是首选的,即此时没有视觉设计器来帮助开发者映射和配置他们用来处理数据库的类(所以你必须自己写下所有的类)。不过你可以使用一些工具,比如:使用SQLMetal来生成windows phone mango本地数据库的类,http://windowsphonegeek.com/articles/Using-SqlMetal-to-generate-Windows-Phone-Mango-Local-Database-classes
 
8、最小要求:Visual Studio 2010 SP1 and Windows Phone 7.1 Mango Developer Tools
 
 
这就是“windows phone mango本地数据库(sqlce)”系列文章的简短介绍。请继续关注接下去的文章。

最新文章

  1. addEventListener循环绑定出现的问题
  2. DataURL详解--转自格桑blog
  3. Centos6.5里安装Hbase(伪分布式)
  4. SignalR一个集成的客户端与服务器库。内部的两个对象类:PersistentConnection和Hub
  5. powershell: 生成随机字符串
  6. docker安装错误
  7. Java汉字排序(1)排序前要了解的知识(数组和list的排序接口)
  8. 1.1、Mybatis一级缓存测试
  9. 安装XCode导致mac无法正常开机怎么办
  10. xceed wpf datagrid
  11. spring的Java配置入门(Spring Boot学习笔记之一)
  12. JAVANIO通道
  13. Android BLE与终端通信(五)——Google API BLE4.0低功耗蓝牙文档解读之案例初探
  14. Raspberry pi connect temperature and humidity to onenet (移动云平台)
  15. bzoj4025 二分图 [分治,并查集]
  16. ECMAScript6 入门 Module
  17. vue-router的router.go(n)问题?
  18. iOS 内存管理分析
  19. nmap扫描内网存活机器脚本
  20. 学习笔记之Git / Gitflow / TortoiseGit

热门文章

  1. CefSharp.OffScreen.Example
  2. Android方法引用数超过65535优雅解决
  3. Java 基本语法---Java方法
  4. CMD命令行下修改网络IP设置的方法
  5. java 重新抛出异常
  6. SVN使用过程中遇到的一些问题
  7. FileSystemResource在Srping FrameWork 5中的变化
  8. shell学习(一)
  9. 【LOJ】#2117. 「HNOI2015」实验比较
  10. PLSQL Developer 中文显示乱码的解决方法