一只大菜鸟,最近要学习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)”系列文章的简短介绍。请继续关注接下去的文章。

Windows Phone本地数据库(SQLCE):1、介绍(翻译)(转)的更多相关文章

  1. Windows Phone本地数据库(SQLCE):11、使用LINQ查询数据库(翻译) (转)

    这是“windows phone mango本地数据库(sqlce)”系列短片文章的第十一篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的 ...

  2. Windows Phone本地数据库(SQLCE):4、[Column]attribute(翻译) (转)

    这是“windows phone mango本地数据库(sqlce)”系列短片文章的第四篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的知 ...

  3. Windows Phone本地数据库(SQLCE):2、LINQ to SQL(翻译)(转)

    首先.要说到的是,windows phone 7.1上基本的数据库功能是SQL Compact关于Mango的一个实现,使用linq to sql访问存储在数据库上的数据.   1.LINQ to S ...

  4. Windows Phone本地数据库(SQLCE):14、删除数据(翻译)

    这是“windows phone mango本地数据库(sqlce)”系列短片文章的最后一篇第十四篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需 ...

  5. Windows Phone本地数据库(SQLCE):13、更新数据(翻译)

    这是“windows phone mango本地数据库(sqlce)”系列短片文章的第十三篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的 ...

  6. Windows Phone本地数据库(SQLCE):12、插入数据(翻译)

    这是“windows phone mango本地数据库(sqlce)”系列短片文章的第十二篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的 ...

  7. Windows Phone本地数据库(SQLCE):10、创建数据库(翻译) (转)

    这是“windows phone mango本地数据库(sqlce)”系列短片文章的第十篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的知 ...

  8. Windows Phone本地数据库(SQLCE):9、Connection Strings(翻译) (转)

    这是“windows phone mango本地数据库(sqlce)”系列短片文章的第八篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的知 ...

  9. Windows Phone本地数据库(SQLCE):8、DataContext(翻译)

    这是“windows phone mango本地数据库(sqlce)”系列短片文章的第八篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的知 ...

随机推荐

  1. robotium 中通过id获取 View 以及进行相应的操作

    robotium 中id的几种表现形式 1)字符串形式:例如id/btn_example,源码中的布局里些的hierachy 中看见的都是这种. 2)数字形式:例如0x7f0700D,打开R.java ...

  2. (windows下)安装mysql

    一.先从mysql的官网上下载对应版本的mysql zip包(适用于windows下的) 二.解压zip包放到自定义的文件夹下(我放的是e盘,路径为E:\mysql-5.6.40-winx64) 三. ...

  3. .NetCore 分布式日志收集Exceptionless 在Windows下本地安装部署及应用实例

    自己安装时候遇到很多问题,接下来把这些问题写出来希望对大家有所帮助 搭建环境: 1.下载安装 java 8 SDK (不要安装最新的10.0) 并配置好环境变量(环境变量的配置就不做介绍了) 2.下载 ...

  4. MediatR 中介模式

    使用MediatR完成基于内存级别的消息发布订阅 在微服务架构中领域驱动模型中处理领域事件的相关操作 在区分好领域模型后,就拿代码中来说嘛,用户领域中添加用户操作可能或存在跟用户相关的一些领域事件,在 ...

  5. PHP并发操作下的加锁

    最近做后台统计的工具,统计肯定是一个需要运算好久的数据 容许一个用户在一个时间内进行操作,这个时候就需要用到锁了,将这个操作过程锁起来.在用了cache的时候,cache失效可能导致瞬间的多数并发请求 ...

  6. 【LOJ】#2098. 「CQOI2015」多项式

    题解 令x = x - t代换一下会发现 \(\sum_{i = 0}^{n}a_i (x + t)^i = \sum_{i = 0}^{n} b_{i} x^{i}\) 剩下的就需要写高精度爆算了- ...

  7. 015 jquery中包裹节点

    1.介绍 2.程序 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...

  8. redis 使用管道提升写入的性能[pipeline]

    看了手册的都知道multi这个命令的作用就好比是mysql的事务的功能,但是大家都知道事务吗,就是在操作的过程中,把整个操作当作一个原子来处理,避免由于中途出错而导致最后产生的数据不一致,而产生BUG ...

  9. java学习之租车系统

    ​背景:有三种类型的车供给用户来租用​ ​要求:控制台用户交互界面,根据用户需求输出租车价格,结果如下: 创建租车类主要设计过程: 创建租车类 创建Car父类,包含四种属性成员,重写构造方法 创建三种 ...

  10. Anaconda完全入门指南

    Anaconda完全入门指南 参考文章: 致Python初学者:Anaconda入门使用指南 Anaconda使用总结 概述 很多学习python的初学者甚至学了有一段时间的人接触到anaconda或 ...