10265A - Developing Data Access Solutions with Microsoft Visual Studio 2010 |
|
|---|---|
| Course Code: | 10265A |
| Course Duration: | 5 days |
| Course Price: | 3475.00 |
| Availability: | |
In this course, experienced developers who know the basics of data access (CRUD) in Windows client and Web application environments will learn to optimize their designs and develop better performing data access code by using the ADO.NET Entity Framework, LINQ, WCF Data Services, the Sync Framework, and ADO.NET.
After completing this course, students will be able to:
* Evaluate a variety of business cases, and then select an appropriate combination of data access technologies and tools most appropriate to each case. Describe the roles of Entity Framework, WCF Data Services, and ADO.NET for building and maintaining applications. Use LINQ on top of these technologies to improve productivity and the quality of their applications.
* Use the tools provided with the Entity Framework to map the conceptual model used by the business logic of an application to the logical data model provided by a database.
* Query an Entity Data Model (EDM) by using common methods such as LINQ to Entities, Entity SQL, and the classes in the EntityClient namespace.
* Perform data modification tasks on data in an EDM.
* Explain the function of the Object Services model implemented by the Entity Framework and the support provided by the Object Services API for addressing the issues faced by enterprise applications that have to handle multiple concurrent users simultaneously accessing the same data .
* Describe best practices for designing and building a scalable, optimized data access layer by using Object Services.
* Customize and extend entities with their own business logic and use advanced mappings to shape the data model to their business and application requirements.
* Reuse existing business classes in a data access layer built by using the Entity Framework.
* Address the architectural issues that can arise when building an n-tier enterprise application by using the Entity Framework.
* Build extensible solutions that can update data in an n-tier enterprise application by using the Entity Framework.
* Access offline data or data that that has limited availability in client applications.
* Design, develop, and consume a simple WCF Data Service.
* Use WCF Data Services to update and delete data and to handle multi-user concerns.
* Develop high performance, scalable ADO.NET applications that can query and update data.
* Explain how LINQ to SQL enables development against a logical model which abstracts the low-level details of querying ADO.NET tables and result sets.
Module 1: Architecture and Data Access Technologies
- Data Access Technologies
- Data Access Scenarios
Lab : Analyzing Data Access Scenarios
- Identifying Data Access Technologies
Module 2: Building Entity Data Models
- Introduction to Entity Data Models
- Modifying the Entity Data Model
- Customizing the Entity Data Model
Lab : Using Entity Data Models
- Generating an EDM from the AdventureWorks Database
- Adding Entities and Associations
- Using the Generate Database Wizard
- Mapping Entities to Multiple Tables
- Implementing an Inheritance Hierarchy
- Using Stored Procedures
- Creating a Complex Type
Module 3: Querying Entity Data
- Retrieving Data by Using LINQ to Entities
- Retrieving Data by Using Entity SQL
- Retrieving Data by Using EntityClient Provider
- Retrieving Data by Using Stored Procedures
- Unit Testing Your Data Access Code
Lab : Querying Entity Data
- Retrieving All Contact Entities
- Retrieving Contact Entities by Using a Filter
- Retrieving RewardsClaimed Entities
- Querying the Rewards Family of Entities
- Executing a Stored Procedure
Module 4: Creating, Updating, and Deleting Entity DataThis module introduces you to the ways that the Entity Framework enables you to modify the data in your database. You apply changes to the entities managed by the ObjectContext class. The ObjectContext class is responsible for tracking all changes to entities and then persisting these changes to the database on request.Lessons
- Understanding Change Tracking in the Entity Framework
- Modifying Data in an Entity Data Model
Lab : Creating, Updating, and Deleting Entity Data
- Maintaining Contact and Reward Data
- Maintaining RewardsClaim Data
Module 5: Handling Multi-User Scenarios by Using Object Services
- Handling Concurrency in the Entity Framework
- Transactional Support in the Entity Framework
Lab : Handling Multi-User Scenarios by Using Object Services
- Handling Concurrency of Rewards Claimed Data
- Updating the RewardsClaimed and ArchivedRewardsClaimed Information by Using a Transaction
Module 6: Building Optimized Solutions by Using Object Services
- The Stages of Query Execution
- Change Tracking and Object Materialization
- Using Compiled Queries
- Using Design-Time Generated Entity Framework Views
- Monitoring Performance
- Performing Asynchronous Data Modifications
Lab : Building Optimized Solutions by Using Object Services
- Improving the Performance of Query Operations
- Improving the Performance of Update Operations
Module 7: Customizing Entities and Building Custom Entity Classes
- Overriding Generated Classes
- Using Templates to Customize Entities
- Creating and Using Custom Entity Classes
Lab : Customizing Entities and Building Custom Entity Classes
- Using a Template to Add Custom Functionality to Entity Classes
- Creating Custom Entity Classes
Module 8: Using POCO Classes with the Entity Framework
- Requirements for POCO Classes
- POCO Classes and Lazy Loading
- POCO Classes and Change Tracking
- Extending Entity Types
Lab : Using POCO Classes with the Entity Framework
- Using POCO Classes
- Extending Your POCO Classes
Module 9: Building an N-Tier Solution by Using the Entity Framework
- Designing an N-Tier Solution
- Defining Operations and Implementing Data Transport Structures
- Protecting Data and Operations
Lab : Building an N-Tier Solution by Using the Entity Framework
- Creating the Contacts and Orders Data Access Tier
- Protecting Data Access Operations
Module 10: Handling Updates in an N-Tier Solution by Using the Entity Framework
- Tracking Entities and Persisting Changes
- Managing Exceptions in an N-Tier Solution
Lab : Handling Updates in an N-Tier Solution by Using the Entity Framework
- Handling Updates in the Data Access Tier
- Detecting and Handling Order Conflicts
Module 11: Building Occasionally Connected Solutions
- Offline Data Caching by Using XML
- Using the Sync Framework
Lab : Building Occasionally Connected Solutions
- Modifying the Orders Application to Use Offline XML Data
- Modifying the Orders Application to Synchronize Locally Cached Data
Module 12: Querying Data by Using WCF Data ServicesWindows Communication Foundation (WCF) Data Services enable you to create highly flexible data services that can be used to provide access to data across the Internet or a corporate network. You can access these services by using REST-style URIs, and they can be easily consumed by a wide variety of applications. As WCF Data Services are build on top of standard Internet protocols such as HTTP and the Atom Publishing Protocol, they are an ideal choice for delivering data to AJAX applications and Rich Interactive Applications built using technologies such as Microsoft Silverlight.Lessons
- Introduction to WCF Data Services
- Creating a WCF Data Service
- Consuming a WCF Data Service
- Protecting Data and Operations in a WCF Data Service
Lab : Creating and Using WCF Data Services
- Exposing Order Data as a WCF Data Service
- Consuming a WCF Data Service
- Restricting Access to Data Exposed by a WCF Data Service
- Implementing a Business Operation in a WCF Data Service
Module 13: Updating Data by Using WCF Data ServicesThis module describes how to use WCF Data Services to create, update, and delete data. WCF Data Services use standard internet protocols such as HTTP and the Atom Publishing Protocol to enable update access to data across the Internet or a corporate network.Lessons
- Creating, Updating, and Deleting Data in a WCF Data Service
- Preventing Unauthorized Updates and Improving Performance
- Using WCF Data Services with Nonrelational Data
Lab : Updating Data by Using WCF Data Services
- Updating Entities by Using a WCF Data Service
- Creating and Deleting Entities by Using a WCF Data Service
- Restricting Create, Update, and Delete Requests
Module 14: Using ADO.NET
- Retrieving and Modifying Data by Using ADO.NET Commands
- Retrieving and Modifying Data by Using DataSets
- Managing Transactions and Concurrency in Multiuser Scenarios
Lab : Using ADO.NET
- Using ADO.NET to Retrieve Read-Only Information Quickly and Perform Simple Data Modifications
- Developing the Product List Web Application
- Enabling Data Modifications
Module 15: Using LINQ to SQL
- Implementing a Logical Data Model by Using LINQ to SQL
- Managing Performance and Handling Concurrency
Lab : Using LINQ to SQL
- Using LINQ to SQL to Build a Data Access Layer
- Updating a Database by Using a Stored Procedure
- Building a Custom Entity Class
This course is intended for professional .NET software developers who use Microsoft Visual Studio in a team-based, medium-sized to large development environment. They will have experience implementing data access and data binding within their Web and/or Windows client applications and are interested in learning to optimize data access code in their applications by using the Entity Framework, LINQ, and ADO.NET. Members of the audience are experienced users of Microsoft Visual Studio 2008 SP1 or newer releases of the Visual Studio product. The audience has some experience using Visual Studio 2010 for either Windows client or Web application development.
Typically, this audience has the following knowledge/experience:
* Experience developing n-tier applications that access various data sources
* Experience implementing data binding within their applications
* Some experience using LINQ and ADO.NET
* A conceptual understanding of the Entity Framework
Before attending this course, students must have:
* An understanding of the problem-solving techniques that apply to software development, including the following principles of software development:
o Modern software development models
o Typical phases of a software development lifecycle
o Concepts of event-driven programming
o Concepts of object-oriented programming
o Creating use-case diagrams
o Designing and building a user interface
o Developing a structured application
* A basic understanding of the following scripting techniques and some hands-on experience writing scripts:
o Web scripting techniques
o Macro scripting techniques
o Windows scripting techniques
* A general understanding of the purpose, function, and features of following .NET Framework topics:
o Common Language Runtime
o .NET Framework class library
o Common Type System
o Component interoperation
o Cross-language interoperability
o Assemblies in the Common Language Runtime
o Application domains
o Runtime hosts supported by the .NET Framework
* Experience using Visual Studio 2008 in the following task areas:
o Declaring and initializing typed variables using the Camel case naming convention
o Using arithmetic, relational, and logical operators in code statements
o Using branching statements to control code execution
o Using looping statements to iterate through collections or repeat steps until a specified condition is met
o Creating classes and methods to establish the basic structure of an application
o Using methods and events to implement the programming logic of an application
o Identifying syntax and logic errors
o Accessing and managing data from a data source
* Experience in object oriented design and development as follows:
o Creating and accessing classes and class properties
o Creating and accessing methods and overloaded methods
o Implementing inheritance, base classes, and abstract classes
o Declaring, raising, and handling events
o Responding to and throwing exceptions
o Implementing interfaces and polymorphism
o Implementing shared and static members
o Implementing generics
o Creating components and class libraries
* Experience in N-Tier application design and development as follows:
o Managing a software development process
o Controlling input at the user interface level in Windows client and Web applications
o Debugging, tracing, and profiling .NET applications
o Monitoring and logging .NET applications
o Implementing basic testing best practices
o Performing basic data access tasks with LINQ
+ Basics of LINQ to XML
+ Basics of LINQ to Entities
+ Basics of LINQ to SQL
o Implementing basic security best practices in .NET Applications
+ Basics of Code Access Security
+ Basics of Role-Based Security
+ Basics of Cryptography Services
o Implementing basic service calls
+ Basics of creating and consuming XML Web Services
+ Basics of creating and consuming WCF Services
o Using .NET Configuration Files
o Deploying .NET Framework Applications using ClickOnce and the MS Installer
* Data access experience in Windows client application development as follows:
o Connect to a data source
o Implement data binding
o Implement data validation at the UI layer
* Data access experience in Web application development as follows:
o Connect to a data source
o Implement dynamic data

