WP7使用本地数据库

上传人:夏** 文档编号:561980549 上传时间:2022-10-11 格式:DOCX 页数:19 大小:101.42KB
返回 下载 相关 举报
WP7使用本地数据库_第1页
第1页 / 共19页
WP7使用本地数据库_第2页
第2页 / 共19页
WP7使用本地数据库_第3页
第3页 / 共19页
WP7使用本地数据库_第4页
第4页 / 共19页
WP7使用本地数据库_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《WP7使用本地数据库》由会员分享,可在线阅读,更多相关《WP7使用本地数据库(19页珍藏版)》请在金锄头文库上搜索。

1、文档供参考,可复制、编制,期待您的好评与关注! Hands-On Lab在Windows Phone Mango中使用本地数据库Lab version:1.0.0Last updated:10/28/2011内容课程概述3实验6任务 1 定义数据上下文6任务 2 创建一个数据库12任务 3 部署一个现有的数据库13任务 4 获取数据14任务 5 插入数据16任务 6 更新数据17任务 7 删除数据17课程总结18课程概述Windows Phone Mango提供了一种新的方式来存储和管理您的应用程序的结构化数据 - Microsoft SQL Server Compact edition 数据

2、库。本地数据库作为一个文件存储在应用程序的独立存储空间。 本次实验使用 Tidy 应用程序来演示在 Windows Phone应用程序中使用本地数据库。应用程序管理与项目相关的任务。每个任务支持附件以及预定义的数据集,包括优先级和截止时间。 所有这些信息都使用本地数据库与几个主要的表:ProjectsTasksAttachmentsLocations下图显示在应用程序所支持的实体中包含的数据和实体之间的关系。Figure 1Database entities and their associationsWindow Phone Mango 应用程序 使用LINQ to SQL 访问本地数据库。

3、 LINQ to SQL 提供了面向对象的方法,用于处理存储在数据库中的数据。System.Data.Linq.DataContext 类连接应用程序的对象模型与数据库中的数据。目标本次动手实验,包括下列的任务:利用本地数据库开发 Windows Phone Mango应用程序。了解 Tidy 应用程序实施本地数据库。前提条件您在开始本次动手实验前,请先确认达到下列前提条件:Microsoft Visual Studio 2010 或者 Microsoft Visual C# Express 2010, 和 Windows Phone 7 Codenamed “Mango” Developer

4、 Tools,下载地址: http:/ 如何创建 Windows Phone 7应用程序 熟悉基本的SQL术语架构Tidy 应用程序使用 MVVM 模式。 MVVM决定了应用程序分成三个不同的部分: View 用户接口,并通过用户操作ViewModelViewModel 连接用户的操作和应用程序的数据Model 管理应用程序的数据Tidy应用程序以下列方式划分: DataContextBase类(继承自 System.Data.Linq.DataContext )实现了 Model。允许执行本地应用程序对象上的操作,以影响应用程序的数据库中的数据。 ViewModelItemsBase 和 V

5、iewModelBase类(以及这两个类的子类)实现了ViewModel。这些类隐藏了用户界面,提供简单的访问模型的内容,以及通过简化,如确定新的任务,更新项目等的各种应用程序的网页,形成应用程序的用户界面,实现视图的数据操纵操作模式本身。LINQ to SQLLINQ to SQL是.Net框架的ORM(对象关系映射)平台的数据库。当应用程序执行LINQ语句在运行时,它转换为Transact - SQL对数据库执行操作;一旦数据库返回查询结果,LINQ to SQL将数据转换为应用程序对象。了解更多有关LINQ to SQL的知识请访问http:/ NOTE:如果你熟悉在桌面上使用LINQ

6、to SQL,请注意在Windows Phone中使用LINQ to SQL的一些限制,不支持“原始”的Transact SQL、DML(数据建模语言),DDL(数据定义语言),不提供直接访问ADO.NET对象。实验提纲这个动手实验将包括一个完整的实验,包括下列的任务:定义一个数据上下文创建数据库部署一个现有的数据库获取数据插入数据更新数据删除数据预计完成时间完成该实验预计花费15到30分钟的时间。实验本次实验将重点介绍 ViewModel. 实验提供了 “guided tour”的相关代码,将让您获得更深入的了解如何在您未来编写的应用程序中使用本地数据库. 任务 1 定义一个数据上下文Sys

7、tem.Data.Linq.DataContext 类连接应用程序的对象模型与数据库中的数据。 应用程序对象映射到数据库的对象需要你实现从System.Data.Linq.DataContext 类派生的一个类。 同时你还要将属性添加到对象模型中. 数据上下文负责将对象映射到相应的数据库实体。推荐的方法是在Windows Phone优先生成数据库代码。您手动生成类,并提供相应的属性,然后在运行时,数据上下文创建在你的对象模型中定义的关系数据库。它也有可能采用一个现有的数据库,并使用SqlMetal tool自动生成一个匹配的数据上下文. 重要的是要注意SqlMetal是不完全兼容的Window

8、s Phone,它生成的代码将无法编译。Tidy 应用程序的数据上下文由SqlMetal生成。生成了对象模型类的部分方法和事件,当应用程序数据改变时,将执行具体的代码。打开本实验安装文件夹下的 SourceEnd 文件. 导航到Todo.Business 项目, 展开 Models 文件并打开 DataContextBase.cs 文件查看 DataContextBase 类(应用程序数据上下文).在DataContextBase 类中 每个Table 类型对应数据库中的一张表。 其中T是表中所代表的实体类型。注意DataContextBase中的每一个 Table 属性 , T 具有 Tab

9、le 的属性。此属性定义包含T类型的实体数据表。请注意在对象模型中的所有的类都实现了IPropertyChangedNotifier 接口, 它们是如何转换成 INotifyPropertyChanged的。这种转换允许你绑定用户界面对象中的数据部分。 实体类也实现了 INotifyPropertyChanging 接口, 此接口允许 SQL CE 进行缓存优化和管理数据, ITodoTable 公开ID 属性。这里是一部分代码用于定义数据上下文. 该代码演示了如何定义Task表的DataContextBase 类以及如何在类中定义其属性与数据库列之间的联系,以及 Attachment 类所代

10、表的不同实体的联系:C#public partial class DataContextBase : System.Data.Linq.DataContext private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource(); public DataContextBase(string connection) : base(connection, mappingSource) OnCreated(); public DataContextBase(string c

11、onnection, System.Data.Linq.Mapping.MappingSource mappingSource) : base(connection, mappingSource) OnCreated(); public System.Data.Linq.Table Items get return this.GetTable(); / The rest of the class was omittedTable( Name=Tasks)public partial class Task : INotifyPropertyChanging, INotifyPropertyCha

12、nged, ITodoTable Column(Storage = _EstimateTime, DbType = DateTime) public System.Nullable EstimateTime get return this._EstimateTime; set if (this._EstimateTime != value) this.OnEstimateTimeChanging(value); this.SendPropertyChanging(); this._EstimateTime = value; this.SendPropertyChanged(EstimateTi

13、me); this.OnEstimateTimeChanged(); Association(Name = Attachment_Items, Storage = _Attachment, ThisKey = ItemID, OtherKey = ItemID, DeleteRule = NO ACTION) public EntitySet Attachment get return this._Attachment; set this._Attachment.Assign(value); / The rest of the class was omitted我们曾提到上述代码中的属性,这些属性允许你定义表,列,键和索引。LINQ to SQL的一些属性:虽然我们在此应用程序中使用SqlMetal 定义数据上下文,但我们还是使用Task 类来演示看如何创建一个完整的实体。首先通过定义类和声明 Table 属性:C#Tablepublic partial class Task现在定义类的属性: C#Tablepu

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 国内外标准规范

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号