Windows Phone本地数据库(SQLCE):8、DataContext(翻译)
2014-07-11 17:35
369 查看
这是“windows phone mango本地数据库(sqlce)”系列短片文章的第八篇。 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的知识点。我将谈谈在windows phone mango本地数据库中使用DataContext的问题。
(1)它从System.Data.Linq.DataContext继承类
(2)DataContext构造函数必须调用base(connectionString) 构造函数(基类构造函数)
(3)DataContext通过类型Table<TEntity>(例:Table<City>)的属性来显示数据库上的表。这个表类实现IQueriable<TEntity>,并且让你能够编写LINQ查询来查询数据库。
参考:你可以看下MSDN的文档:http://msdn.microsoft.com/zh-cn/library/hh202860(v=vs.92).aspx
示例:
现在你有context,并且数据库已经创建好了。你可以像示例里那样查询:
这篇文章我讨论了在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,并且如何使用它们。请继续关注接下来的文章。
相关文章推荐
- Windows Phone本地数据库(SQLCE):3、[table]attribute(翻译) (转)
- Windows Phone本地数据库(SQLCE):9、Connection Strings(翻译) (转)
- Windows Phone本地数据库(SQLCE):4、[Column]attribute(翻译) (转)
- Windows Phone本地数据库(SQLCE):6、[Index] attribute(翻译)(转)
- Windows Phone本地数据库(SQLCE):11、使用LINQ查询数据库(翻译) (转)
- Windows Phone本地数据库(SQLCE):1、介绍(翻译)(转)
- Windows Phone本地数据库(SQLCE):7、Database mapping(翻译)
- Windows Phone本地数据库(SQLCE):13、更新数据(翻译)
- Windows Phone本地数据库(SQLCE):14、删除数据(翻译)
- Windows Phone本地数据库(SQLCE):12、插入数据(翻译)
- Windows Phone本地数据库(SQLCE):10、创建数据库(翻译) (转)
- Windows Phone本地数据库(SQLCE):5、[Association]attribute(翻译)(转)
- Windows Phone本地数据库(SQLCE):2、LINQ to SQL(翻译)(转)
- Windows Phone本地数据库(SQLCE):1、介绍(翻译)
- Windows Phone 本地数据库创建、获取数据库物理文件、数据库引用---本地数据库创建
- Windows Phone 本地数据库创建、获取数据库物理文件、数据库引用---本地数据库创建
- windows phone 7 使用本地数据库的最佳做法
- (转)Windows Phone 本地数据库创建、获取数据库物理文件、数据库引用---本地数据库创建
- Windows Phone 数据库,删除提示 SQL Server does not handle comparison of NText, Text, Xml, or Image data types
- 浅谈Windows Phone 7本地数据库的选择