首页 > 代码库 > Windows Phone本地数据库(SQLCE):1、介绍(翻译)(转)

Windows Phone本地数据库(SQLCE):1、介绍(翻译)(转)

一只大菜鸟,最近要学习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 Local Database(SQL CE): Linq to SQL
  • Windows Phone Mango Local Database(SQL CE): [Table] attribute
  • Windows Phone Mango Local Database(SQL CE): [Column] attribute
  • Windows Phone Mango Local Database(SQL CE): [Association] attribute
  • Windows Phone Mango Local Database(SQL CE): [Index] attribute
  • Windows Phone Mango Local Database(SQL CE): Database mapping
  • Windows Phone Mango Local Database(SQL CE): DataContext
  • Windows Phone Mango Local Database(SQL CE): Connection Strings
  • Windows Phone Mango Local Database(SQL CE): Creating the Database
  • Windows Phone Mango Local Database(SQL CE): Database Queries with LINQ
  • Windows Phone Mango Local Database(SQL CE): How to Insert data
  • Windows Phone Mango Local Database(SQL CE): How to Update data
  • Windows Phone Mango Local Database(SQL CE): How to Delete data

    这是这个系列中的第一篇文章,我将给出一个简短的关于本地数据库的介绍,除此之外还有在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
 
你也可以参考msdn文档:http://msdn.microsoft.com/zh-cn/library/hh202860(v=vs.92).aspx
 
这就是“windows phone mango本地数据库(sqlce)”系列文章的简短介绍。请继续关注接下去的文章。