博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Windows Phone本地数据库(SQLCE):8、DataContext(翻译)
阅读量:6760 次
发布时间:2019-06-26

本文共 1487 字,大约阅读时间需要 4 分钟。

这是“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的文档:
示例:
1 public class CountryDataContext : DataContext 2 { 3 public CountryDataContext(string connectionString) 4 : base(connectionString) 5 { 6 } 7 8 public Table
Countries 9 { 10 get 11 { 12 return this.GetTable
(); 13 } 14 } 15 16 public Table
Cities 17 { 18 get 19 { 20 return this.GetTable
(); 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,并且如何使用它们。请继续关注接下来的文章。

转载地址:http://oafeo.baihongyu.com/

你可能感兴趣的文章
@Override用在哪儿
查看>>
小议C#错误调试和异常处理
查看>>
Python基础--webbrowser
查看>>
Dynamics CRM Form表单中通过javascript抓取触发change事件字段的属性名
查看>>
多维透视表 - 矩表实现商品销售对比统计
查看>>
ssh命令、ping命令、traceroute 命令所使用的协议
查看>>
云舒网络译:Rancher1.0正式版公布
查看>>
转 MySQL中的共享锁与排他锁
查看>>
入门--JTBC系统学习(1)
查看>>
我的Android进阶之旅------&gt;怎样解决Android 5.0中出现的警告: Service Intent must be explicit:...
查看>>
单点登录实现机制:桌面sso
查看>>
JVM垃圾回收机制
查看>>
Oracle导出导入指定表
查看>>
訪问者模式的分析、结构图及基本代码
查看>>
Android Studio 2.3.3 添加ksoap2的引用(拒绝网上其他的忽悠),也适用于添加其他Jar的引用...
查看>>
sql改写or 改成union不等价数据变多
查看>>
How to skip to next iteration in jQuery.each() util?
查看>>
Android 音视频开发(一) : 通过三种方式绘制图片
查看>>
spring-data-jpa+hibernate 各种缓存的配置演示
查看>>
EmguCV(OpenCV)实现高效显示视频(YUV)叠加包括汉字
查看>>