Developing Data Access Solutions with Microsoft Visual Studio 2010
Course # 10265
Course Starts On: May 18, 2014 -
Length of the Course: 5 Days
Price: $2,625 – Click Here to Pre Register
Course Description
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.
Course Objectives:
- 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.
Course Audience:
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
Course Outline:
- Data Access Technologies
- Data Access Scenarios
- Identifying Data Access Technologies
- Describe the key data access technologies available to .NET Framework developers.
- Assign appropriate data access technologies to common data access scenarios.
- Introduction to Entity Data Models
- Modifying the Entity Data Model
- Customizing the Entity Data Model
- 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
- Describe and create an Entity Data Model.
- Modify an Entity Data Model by using the Entity Designer.
- Customize a model to meet their business requirements.
- 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
- Retrieving All Contact Entities
- Retrieving Contact Entities by Using a Filter
- Retrieving RewardsClaimed Entities
- Querying the Rewards Family of Entities
- Executing a Stored Procedure
- Retrieve data by using LINQ to Entities.
- Retrieve data by using the Entity SQL language.
- Retrieve data by using the EntityClient Provider.
- Retrieve data by using stored procedures in the entity model.
- Create unit tests for their data access code.
- Understanding Change Tracking in the Entity Framework
- Modifying Data in an Entity Data Model
- Maintaining Contact and Reward Data
- Maintaining RewardsClaim Data
- Describe how the Entity Framework implements change tracking.
- Describe how to modify data in the entity model, and persist the changes to the database.
- Handling Concurrency in the Entity Framework
- Transactional Support in the Entity Framework
- Handling Concurrency of Rewards Claimed Data
- Updating the RewardsClaimed and ArchivedRewardsClaimed Information by Using a Transaction
- Describe the optimistic concurrency model that the Entity Framework uses.
- Manage transactions in applications that use the Entity Framework.
- 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
- Improving the Performance of Query Operations
- Improving the Performance of Update Operations
- Explain how the Entity Framework executes queries.
- Understand the impact of tracking and object materialization on query performance.
- Describe how to use compiled queries.
- Describe how to use design-time generated views.
- Describe how to monitor query performance.
- Describe how to perform asynchronous data modifications.
- Overriding Generated Classes
- Using Templates to Customize Entities
- Creating and Using Custom Entity Classes
- Using a Template to Add Custom Functionality to Entity Classes
- Creating Custom Entity Classes
- Use partial classes and methods to add business logic to generated code.
- Create and use templates to customize code generation.
- Modify existing business classes to take advantage of entity functionality.
- Requirements for POCO Classes
- POCO Classes and Lazy Loading
- POCO Classes and Change Tracking
- Extending Entity Types
- Using POCO Classes
- Extending Your POCO Classes
- List the requirements that their POCO classes must meet.
- Create POCO entities that support automatic lazy loading.
- Create POCO entities that support automatic change tracking.
- Describe the options for using interfaces and inheritance to create custom entity objects.
- Designing an N-Tier Solution
- Defining Operations and Implementing Data Transport Structures
- Protecting Data and Operations
- Creating the Contacts and Orders Data Access Tier
- Protecting Data Access Operations
- Describe the issues and strategies that are relevant to building n-tier applications.
- Understand the key components that they must create in order to implement an n-tier application.
- Describe how to protect operations and data in an n-tier application.
- Tracking Entities and Persisting Changes
- Managing Exceptions in an N-Tier Solution
- Handling Updates in the Data Access Tier
- Detecting and Handling Order Conflicts
- Describe strategies that they can adopt for tracking changes in the client application, and persisting those changes in the database.
- Describe how to trap and handle update and concurrency exceptions in the an n-tier solution.
- Offline Data Caching by Using XML
- Using the Sync Framework
- Modifying the Orders Application to Use Offline XML Data
- Modifying the Orders Application to Synchronize Locally Cached Data
- Cache data in local XML files by using LINQ to XML.
- Implement an occasionally connected application by using the Microsoft Sync Framework.
- Introduction to WCF Data Services
- Creating a WCF Data Service
- Consuming a WCF Data Service
- Protecting Data and Operations in a WCF Data Service
- 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
- Describe the purpose and features of WCF Data Services.
- Expose data by using a WCF Data Service.
- Implement a client application that can consume a WCF Data Service.
- Grant and restrict access to resources exposed by a WCF Data Service.
- Creating, Updating, and Deleting Data in a WCF Data Service
- Preventing Unauthorized Updates and Improving Performance
- Using WCF Data Services with Nonrelational Data
- Updating Entities by Using a WCF Data Service
- Creating and Deleting Entities by Using a WCF Data Service
- Restricting Create, Update, and Delete Requests
- Create, update, and delete entities by using a WCF Data Service.
- Control access to data modification functionality, and improve performance by batching commands together.
- Use WCF Data Services to access and modify nonrelational data.
- Retrieving and Modifying Data by Using ADO.NET Commands
- Retrieving and Modifying Data by Using DataSets
- Managing Transactions and Concurrency in Multiuser Scenarios
- Using ADO.NET to Retrieve Read-Only Information Quickly and Perform Simple Data Modifications
- Developing the Product List Web Application
- Enabling Data Modifications
- Retrieve and update data by using ADO.NET commands and stored procedures.
- Retrieve and update data by using DataSet objects.
- Implement transactions and handle concurrency exceptions.
- Implementing a Logical Data Model by Using LINQ to SQL
- Managing Performance and Handling Concurrency
- Using LINQ to SQL to Build a Data Access Layer
- Updating a Database by Using a Stored Procedure
- Building a Custom Entity Class
- Design a logical data model by using LINQ to SQL.
- Manage performance by using LINQ to SQL, and handle concurrency.