您的位置:首页 > 数据库

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

2014-07-11 17:35 369 查看
这是“windows phone mango本地数据库(sqlce)”系列短片文章的第八篇。 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的知识点。我将谈谈在windows phone mango本地数据库中使用DataContext的问题。

1、DataContext是什么

DataContext的用途是以面向对象的方式来显示数据库到其余的代码上。DataContext有三个重要的特点:
(1)它从System.Data.Linq.DataContext继承类
(2)DataContext构造函数必须调用base(connectionString) 构造函数(基类构造函数)
(3)DataContext通过类型Table<TEntity>(例:Table<City>)的属性来显示数据库上的表。这个表类实现IQueriable<TEntity>,并且让你能够编写LINQ查询来查询数据库。

2、怎么创建DataContext

为了创建一个本地数据库,首先你必须定义DataContext和实体类。这些类定义了数据的对象模型和数据库模式之间的映射。LINQ to SQL的对象关系能力取决于映射的详细信息,映射的详细信息是为了创建一个关系数据库映射到对应的DataContext。
参考:你可以看下MSDN的文档:http://msdn.microsoft.com/zh-cn/library/hh202860(v=vs.92).aspx
示例:



1 public class CountryDataContext : DataContext
2  {
3      public CountryDataContext(string connectionString)
4          : base(connectionString)
5      {
6      }
7
8      public Table<Country> Countries
9      {
10          get
11          {
12              return this.GetTable<Country>();
13          }
14      }
15
16      public Table<City> Cities
17      {
18          get
19          {
20              return this.GetTable<City>();
21          }
22      }
23  }




3、怎么使用DataContext

检查数据库是否存在非常重要,如果不存在,你必须创建它。看示例:

1 public MainPage()
2  {
3      InitializeComponent();
4
5      using (CountryDataContext context = new CountryDataContext(ConnectionString))
6      {
7
8          if (!context.DatabaseExists())
9          {
10              // create database if it does not exist
11              context.CreateDatabase();
12          }
13      }
14  } 




现在你有context,并且数据库已经创建好了。你可以像示例里那样查询:

1 var query = from c in context.City where p.Name ="London" select p;


这篇文章我讨论了在windows phone mango 本地数据库中的DataContext,并且如何使用它们。请继续关注接下来的文章。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐