Course 10947A: 使用Visual Studio 2010 开发数据访问应用程序

Type: 课程
Audience(s):Developers
Technology:Cross-Platform Development
Level:200
This Revision:A
Delivery method:
教师指导型
Length:5 days
Language(s):Chinese (Simplified), English

First published:

09 January 2012
Overview
About this course
在本课程中,通过使用ADO.NET Entity Framework、语言集成查询(LINQ)、Windows Communication Foundation (WCF)数据服务、Microsoft Sync Framework以及ADO.NET,有经验的开发者可以在Windwos客户端和Web应用程序环境的基础数据访问中将学习如何优化设计和开发更好的执行数据访问。
Audience profile
本课程面向在基于团队的中等到大型开发环境中使用Microsoft Visual Studio的专业.NET软件开发人员。他们应该有在Web或Windows客户端应用程序中实现数据访问和数据绑定的经验,并有兴趣学习如何使用实体框架、LINQ和ADO.NET在其应用程序中优化数据访问。听课人员应该是Visual Studio 2008 Service Pack 1 (SP1)或更高版本Visual Studio产品的有经验的客户。 听课对象还应该具备使用Visual Studio 2010进行Windows客户端和Web应用程序开发的经验.
特别地,听课人员拥有以下知识和经验:
  • 开发访问多样数据源的N层应用程序的经验
  • 在应用程序中实现数据绑定的经验
  • 使用LINQ 和ADO.NET 的经验
  • 理解Entity 框架的概念

At course completion
完成本课程后,学生将能够:
  • 评估业务案例,并针对每种案例选择相应的数据访问技术与工具的组合。描述实体框架,WCF数据服务,并为建立和维护应用程序的ADO.NET的角色。使用LINQ在这些技术之上,以提高生产率和他们应用程序的质量。
  • 使用实体框架提供的工具将应用程序业务逻辑所使用的概念模型映射为数据库提供的逻辑数据模型。
  • 使用常用方法(如LINQ to Entity、Entity SQL以及EntityClient名称空间中的类)查询实体数据模型(EDM)。
  • 通过EDM执行数据修改任务。
  • 解释由实体框架实现的对象服务模型和处理问题的企业应用程序必须处理同时访问同一数据的多个并发用户面临由对象服务 API 提供的支持功能。
  • 描述使用对象服务来设计和构建可伸缩的优化数据访问层的最佳做法.
  • 按他们自己的业务逻辑自定义和扩展实体,并使用高级映射根据其业务需求和应用程序需求建立数据模型。在使用实体框架构建的数据访问层中,重用现有的业务类。使用实体框架解决在构建N层企业应用程序时可能引发的体系结构问题。
  • 使用实体框架构建可更新N层企业应用程序中的数据的可扩展解决方案。
  • 在客户端应用程序中访问脱机数据或可用性受限的数据。
  • 设计、开发和使用简单WCF数据服务.
  • 使用WCF数据服务更新和删除数据以及处理多用户问题。
  • 开发可查询和更新数据的高性能、可伸缩的ADO.NET应用程序。
  • 使用LINQ to SQL根据逻辑模型进行开发,逻辑模型抽象出查询ADO.NET表和结果集所需的低级细节。

Course details
课程大纲模块 1: 数据访问技术介绍这章将描述常用的数据访问技术以及最适合使用这些技术的场合.课程
  • 数据访问技术
  • 数据访问场景
实验 : 分析数据访问场景
学习完本章后,学生将能够:
  • 了解Microsoft .NET Framework开发人员可使用的关键数据访问技术。
  • 为常见数据访问场景选择相应的数据访问技术。

模块 2: 构建实体数据模型本章介绍数据建模的概念,尤其是EDM。这一章说明你如何使用EDM来将应用程序中的概念数据结构与数据存储中的逻辑数据结构解耦。课程
  • 实体数据模型简介
  • 修改实体数据模型
  • 自定义实体数据模型
实验 : 使用实体数据模型
学习完本章后,学生将能够:
  • 描述和创建实体数据模型。
  • 使用实体设计器修改实体数据模型。
  • 自定义模型以符合业务要求。

模块 3: 查询实体数据本章解释了如何使用常用方法,如LINQ to Entitiy,Entity SQL和在EntityClient命名空间的类查询实体数据模型。课程
  • 使用LINQ to Entity检索数据
  • 使用Entity SQL检索数据
  • 使用EntityClient提供程序检索数据。
  • 使用存储过程检索数据。
  • 对数据访问代码进行单元测试。
实验 : 查询实体数据
学习完本章后,学生将能够:
  • 使用LINQ to Entity检索数据。
  • 使用Entity SQL语言检索数据
  • 使用EntityClient提供程序检索数据。
  • 在实体模型中使用存储过程检索数据。
  • 创建数据访问代码的单元测试。

模块 4: 创建、更新和删除实体数据本章将介绍实体框架通过哪些方式来允许您修改数据库中的数据。您对ObjectContext类管理的实体进行更改。ObjectContext类负责跟踪实体的所有更改,然后按请求将这些更改持久保存到数据库。课程
  • 理解实体框架中的更改跟踪
  • 修改实体数据模型中的数据
实验 : 创建、更新和删除实体数据
学习完本章后,学生将能够:
  • 了解实体框架如何实现更改跟踪。
  • 了解如何修改实体模型中的数据,如何将更改持久保存到数据库。

模块 5: 使用对象服务处理多用户场景本章介绍了并发模型实体框架的使用,以解决应用程序必须支持多个用户访问相同的数据同时所面临的问题。本章介绍并发模型,并描述实体框架如何利用事务来确保数据完整性。课程
  • 处理实体框架中的并发
  • 实体框架中的事务支持
实验 : 使用对象服务处理多用户场景
学习完本章后,学生将能够:
  • 了解实体框架使用的乐观并发模型。
  • 在使用实体框架的应用程序中使用事务。

模块 6: 使用对象服务构建优化的解决方案本章描述使用对象服务来设计和构建可伸缩的优化数据访问层的最佳做法。本章介绍可用来优化概念模型查询性能的多种技术。本章还将描述可用来异步运行数据修改操作的策略。课程
  • 查询执行阶段
  • 更改跟踪和对象具体化
  • 使用编译查询
  • 使用设计时生成的实体框架视图
  • 监视性能
  • 执行异步数据修改
实验 : 使用对象服务构建优化的解决方案
学习完本章后,学生将能够:
  • 了解实体框架如何执行查询
  • 理解跟踪和对象具体化对查询性能的影响。
  • 了解如何使用编译查询.
  • 了解如何使用设计时生成的视图
  • 了解如何监视查询性能
  • 了解如何执行异步数据修改

模块 7: 自定义实体和构建自定义实体类描述如何用你自己的业务逻辑自定义和扩展实体。课程
  • 覆盖生成的类
  • 使用模板自定义实体
  • 创建和使用自定义实体类
实验 : 自定义实体和构建自定义实体类
学习完本章后,学生将能够:
  • 使用分部类和方法将业务逻辑添加到生成的代码。
  • 创建和使用模板来自定义代码生成。
  • 修改现有业务类来利用实体功能。

模块 8: 结合实体框架使用POCO类介绍在实体框架应用程序中定义自定义实体类的几种方法。默认情况下,Visual Studio会根据EDM生成一组实体类。 你可能想在应用程序中使用现有的一组“纯旧式”CLR 对象 (POCO) 业务类,而不是这些生成的类。你还可以扩展生成的实体类,来为你的实体对象添加自定义业务功能。课程
  • POCO类的要求
  • POCO类和延迟加载
  • POCO类和更改跟踪
  • 扩展实体类型
实验 : 结合实体框架使用POCO类
学习完本章后,学生将能够:
  • 列出POCO类必须符合的要求。
  • 创建支持自动延迟加载的POCO实体。
  • 创建支持自动更改跟踪的POCO实体。
  • 了解使用接口和继承来创建自定义实体对象的选项。

模块 9: 使用实体框架构建N层解决方案本章介绍了如何通过使用实体框架构建N层应用程序解决体系结构问题。课程
  • 设计N层解决方案
  • 定义操作和实现数据传输结构
  • 保护数据和操作
实验 : 使用实体框架构建N层解决方案
学习完本章后,学生将能够:
  • 了解有关构建N层应用程序相关的问题和策略
  • 理解为了实现N层应用程序而必须创建的关键组件。
  • 了解如何保护N层应用程序中的操作和数据

模块 10: 使用实体框架处理N层解决方案中的更新本章介绍如何处理 N 层解决方案中的数据修改。本章介绍了用于处理修改的不同策略,应将这些策略用于在层间传输数据时所用的不同替代格式:数据传输对象 (DTP)、自跟踪实体 (STE) 和简单实体 (SE)。本章还描述了如何处理N层解决方案中的数据修改,以及如何管理在数据修改过程中可能发生的异常。课程
  • 跟踪实体并持久保存更改
  • 在N层解决方案中管理异常
实验 : 使用实体框架处理N层解决方案中的更新
学习完本章后,学生将能够:
  • 描述他们可以在客户端应用程序中跟踪更改,并坚持这些数据库中的更改的策略。
  • 了解如何捕获并处理N层解决方案中的更新异常和并发性异常。

模块 11: 构建偶尔连接的解决方案本章描述如何在客户端应用程序中访问脱机数据或偶尔连接数据。课程
  • 使用XML脱机缓存数据
  • 使用Sync Framework
实验 : 构建偶尔连接解决方案
学习完本章后,学生将能够:
  • 使用LINQ to XML在本地XML文件中缓存数据。
  • 使用Microsoft Sync Framework实现偶尔连接应用程序

模块 12: 使用WCF数据服务查询数据Windows Communication Foundation(WCF)数据服务能让您创建可用来通过Internet或公司网络提供数据访问的高度灵活的数据服务。可以使用具象状态传输(REST)样式的URI访问这些服务,并且各种应用程序都可轻松使用这些服务。WCF数据服务建立在HTTP和Atom发布协议等标准Internet协议的基础上,因此它非常适合向AJAX应用程序以及使用Microsoft Silverlight等技术构建的丰富交互式应用程序(RIA)提供数据。课程
  • 介绍WCF数据服务
  • 创建WCF数据服务
  • 使用WCF数据服务
  • 保护WCF数据服务中的数据和操作
实验 : 创建和使用WCF数据服务
学习完本章后,学生将能够:
  • 描述WCF数据服务的用途和特性
  • 使用WCF数据服务公开数据
  • 实现可使用WCF数据服务的客户端应用程序
  • 授予和限制对WCF数据服务所公开的资源的访问权

模块 13: 使用WCF数据服务更新数据本章描述如何使用WCF数据服务创建、更新和删除数据。WCF数据服务使用HTTP和Atom发布协议等标准Internet协议来实现通过Internet或公司网络更新数据。课程
  • 创建、更新和删除WCF数据服务中的数据
  • 防止无授权的更新并提高性能
  • 使用WCF数据服务处理非关系数据
实验 : 使用WCF数据服务更新数据
学习完本章后,学生将能够:
  • 使用WCF数据服务创建、更新和删除数据。
  • 通过批量执行命令控制对数据修改功能的访问,并提高性能。
  • 使用WCF数据服务访问和修改非关系数据。

模块 14: 使用ADO.NETADO.NET是高度灵活的框架,用于构建需要访问数据源中存储的数据的应用程序。本章介绍ADO.NET,并说明如何用它来开发可伸缩的高性能数据驱动型应用程序。课程
  • 使用ADO.NET命令检索和修改数据
  • 使用ADO.NET命令检索和修改数据
  • 在多用户场景中管理事务和并发性
实验 : 使用ADO.NET
学习完本章后,学生将能够:
  • 使用ADO.NET命令和存储过程检索和更新数据
  • 使用DataSet对象检索和更新数据。
  • 实现事务和处理并发异常。

模块 15: 使用LINQ to SQLADO.NET提供的机制可用来构建以数据库无关的方式查询和维护保存在各种源中的数据的应用程序。但是,使用ADO.NET构建应用程序要求您熟悉结构化查询语言(SQL)语言以及您所连接的数据库管理系统的功能。LINQ to SQL提供了用于管理Microsoft SQL Server数据库中的数据的更高级抽象,它是将ADO.NET应用程序迁移到ADO.NET Entity Framework的理想基石。本章介绍LINQ to SQL,并说明如何使用LINQ to SQL,通过对照逻辑数据模型进行开发来抽象出ADO.NET查询的低级细节。课程
  • 使用LINQ to SQL实现逻辑数据模型
  • 管理性能和处理并发
实验 : 使用LINQ to SQL
学习完本章后,学生将能够:
  • 使用LINQ to SQL设计逻辑数据模型。
  • 使用LINQ to SQL管理性能,并处理并发

Prerequisites
本课程要求您符合以下必备条件:
理解适用于软件开发的问题解决技术,包括以下软件开发的原则:
  • 现代软件开发模型
  • 软件开发生命周期的典型阶段
  • 事件驱动型编程的概念
  • 面向对象编程的概念
  • 创建用例图
  • 设计和构建用户界面
  • 开发结构化应用程序
基本理解以下的脚本技术,以及某些脚本编写实用经验:
  • Web脚本技术
  • 宏脚本技术
  • Windows脚本技术
总体了解以下.NET Framework的用途、功能和特性的文章
  • 公共语言运行时(CLR)
  • Microsoft .NET Framework类库
  • 通用类型系统
  • 组件互操作
  • 跨语言互操作
  • 在公共语言运行时中的程序集
  • 应用程序域
  • .NET Framework所支持的运行时主机
在以下任务中使用Visual Studio 2008 的经验
  • 使用Camel 命名法声明和初始化变量
  • 在代码段中使用算术,关系和逻辑操作
  • 使用分支语句控制代码执行
  • 使用循环语句遍历集合或者重复步骤直到符合指定条件
  • 创建类和方法建议应用程序的基础结构
  • 使用方法和事件实现应用程序的编程逻辑
  • 识别语法和逻辑错误
  • 访问和管理来自数据源的数据
如下面向对象设计和开发的经验:
  • 创建和访问类以及类属性
  • 创建和访问方法以及重载的方法
  • 实现继承、基类和抽象类
  • 声明、引发和处理事件
  • 响应和引发异常
  • 实现接口和多态性
  • 实现共享成员和静态成员
  • 实现泛型
  • 创建组件和类库
如下N层应用程序设计和开发的经验
  • 管理软件开发过程
  • 控制Windows客户端和Web应用程序中用户界面级的输入
  • 调试、跟踪和分析.NET应用程序
  • 监视.NET应用程序,记录其日志
  • 实现基本测试最佳做法
  • 使用LINQ执行基本数据访问任务
    • LINQ to XML 基础
    • LINQ to Entities基础
    • LINQ to SQL 基础
  • 在.NET应用程序中实现基本安全性最佳做法
    • 代码访问安全性基础
    • 基于角色的安全性基础
    • 加密服务基础
  • 实现基本服务调用
    • 使用XML Web 服务基础
    • 使用WCF 服务基础
  • 使用.NET配置文件
  • 使用ClickOnce和Microsoft Installer部署.NET Framework应用程序
如下在Windows 客户端应用程序开发的数据访问经验:
  • 连接到数据源
  • 实现数据绑定
  • 在用户界面层实现数据验证
如下在Web应用程序开发的数据访问经验:
  • 连接到数据源
  • 实现动态数据
  • 在用户界面层实现数据验证

Community

Looking for training resources, events and advice from peers? Join the Microsoft Training and Certification Community.

Preparing for an exam now? Find your Microsoft Certification Study Group.

Talk to us on these social networks:

Find a Microsoft Learning Partner near you