Developing Data Access Solutions with Microsoft Visual Studio 2010

Session Detail:    Classroom 5 Day

In this course, the student will learn to develop and optimize data access solutions using Microsoft .NET Framework 4 technologies. This course also helps prepare the student for Exam 70-516.

Prerequisites

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:
    • Modern software development models
    • Typical phases of a software development lifecycle
    • Concepts of event-driven programming
    • Concepts of object-oriented programming
    • Creating use-case diagrams
    • Designing and building a user interface
    • Developing a structured application
  • A basic understanding of the following scripting techniques and some hands-on experience writing scripts:
    • Web scripting techniques
    • Macro scripting techniques
    • Windows scripting techniques
  • A general understanding of the purpose, function, and features of following .NET Framework topics:
    • Common Language Runtime
    • .NET Framework class library
    • Common Type System
    • Component interoperation
    • Cross-language interoperability
    • Assemblies in the Common Language Runtime
    • Application domains
    • Runtime hosts supported by the .NET Framework
  • Experience using Visual Studio 2008 in the following task areas:
    • Declaring and initializing typed variables using the Camel case naming convention
    • Using arithmetic, relational, and logical operators in code statements
    • Using branching statements to control code execution
    • Using looping statements to iterate through collections or repeat steps until a specified condition is met
    • Creating classes and methods to establish the basic structure of an application
    • Using methods and events to implement the programming logic of an application
    • Identifying syntax and logic errors
    • Accessing and managing data from a data source
  • Experience in object-oriented design and development as follows:
    • Creating and accessing classes and class properties
    • Creating and accessing methods and overloaded methods
    • Implementing inheritance, base classes, and abstract classes
    • Declaring, raising, and handling events
    • Responding to and throwing exceptions
    • Implementing interfaces and polymorphism
    • Implementing shared and static members
    • Implementing generics
    • Creating components and class libraries
  • Experience in N-Tier application design and development as follows:
    • Managing a software development process
    • Controlling input at the user interface level in Windows client and Web applications
    • Debugging, tracing, and profiling .NET applications
    • Monitoring and logging .NET applications
    • Implementing basic testing best practices
    • Performing basic data access tasks with LINQ
      • Basics of LINQ to XML
      • Basics of LINQ to Entities
      • Basics of LINQ to SQL
    • Implementing basic security best practices in .NET Applications
      • Basics of Code Access Security
      • Basics of Role-Based Security
      • Basics of Cryptography Services
    • Implementing basic service calls
      • Basics of creating and consuming XML Web Services
      • Basics of creating and consuming WCF Services
    • Using .NET Configuration Files
    • Deploying .NET Framework Applications using ClickOnce and the MS Installer
  • Data access experience in Windows client application development as follows:
    • Connect to a data source
    • Implement data binding
    • Implement data validation at the UI layer
  • Data access experience in Web application development as follows:
    • Connect to a data source
    • Implement dynamic data
    • Implement data validation at the UI layer

Who Can Benefit

This course is intended for professional .NET software developers who use Microsoft Visual Studio in a team-based, medium-sized to the 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

Session Outline

Class Outline

Module 1: Architecture and Data Access Technologies

  • Lesson 1: Data Access Technologies
  • Lesson 2: Data Access Scenarios

After completing this module, students will be able to:

  • Describe the key data access technologies available to .NET Framework developers
  • Assign appropriate data access technologies to common data access scenarios

Module 2: Building Entity Data Models

  • Lesson 1: Introduction to Entity Data Models
  • Lesson 2: Modifying the Entity Data Model
  • Lesson 3: Customizing the Entity Data Model

After completing this module, students will be able to:

  • 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

Module 3: Querying Entity Data

  • Lesson 1: Retrieving Data by Using LINQ to Entities
  • Lesson 2: Retrieving Data by Using Entity SQL
  • Lesson 3: Retrieving Data by Using EntityClient Provider
  • Lesson 4: Retrieving Data by Using Stored Procedures
  • Lesson 5: Unit Testing YourData Access Code

After completing this module, students will be able to:

  • 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

Module 4: Creating, Updating, and Deleting Entity Data

  • Lesson 1: Understanding Change Tracking in the Entity Framework
  • Lesson 2: Modifying Data in an Entity Data Model

After completing this module, students will be able to:

  • Describe how the Entity Framework implements change tracking
  • Describe how to modify data in the entity model, and persist the changes to the database

Module 5: Handling Multi-User Scenarios by Using Object Services

  • Lesson 1: Handling Concurrency in the Entity Framework
  • Lesson 2: Transactional Support in the Entity Framework

After completing this module, students will be able to:

  • Describe the optimistic concurrency model that the Entity Framework uses
  • Manage transactions in applications that use the Entity Framework

Module 6: Building Optimized Solutions by Using Object Services

  • Lesson 1: The Stages of Query Execution
  • Lesson 2: Change Tracking and Object Materialization
  • Lesson 3: Using Compiled Queries
  • Lesson 4: Using Design-Time Generated Entity Framework Views
  • Lesson 5: Monitoring Performance
  • Lesson 6: Performing Asynchronous Data Modifications

After completing this module, students will be able to:

  • 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

Module 7: Customizing Entities and Building Custom Entity Classes

  • Lesson 1: Overriding Generated Classes
  • Lesson 2: Using Templates to Customize Entities
  • Lesson 3: Creating and Using Custom Entity Classes

After completing this module, students will be able to:

  • 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

Module 8: Using POCO Classes with the Entity Framework

  • Lesson 1: Requirements for POCO Classes
  • Lesson 2: POCO Classes and Lazy Loading
  • Lesson 3: POCO Classes and Change Tracking
  • Lesson 4: Extending Entity Types

After completing this module, students will be able to:

  • 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

Module 9: Building an N-Tier Solution by Using the Entity Framework

  • Lesson 1: Designing an N-Tier Solution
  • Lesson 2: Defining Operations and Implementing Data Transport Structures
  • Lesson 3: Protecting Data and Operations

After completing this module, students will be able to:

  • 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

 

Module 10: Handling Updates in an N-Tier Solution by Using the Entity Framework

  • Lesson 1: Tracking Entities and Persisting Changes
  • Lesson 2: Managing Exceptions in an N-Tier Solution

After completing this module, students will be able to:

  • 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

Module 11: Building Occasionally Connected Solutions

  • Lesson 1: Offline Data Caching by Using XML
  • Lesson 2: Using the Sync Framework

After completing this module, students will be able to:

  • Cache data in local XML files by using LINQ to XML
  • Implement an occasionally connected application by using the Microsoft Sync Framework

Module 12: Querying Data by Using WCF Data Services

  • Lesson 1: Introduction to WCF Data Services
  • Lesson 2: Creating a WCF Data Service
  • Lesson 3: Consuming a WCF Data Service
  • Lesson 3: Protecting Data and Operations in a WCF Data Service

After completing this module, students will be able to:

  • 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

Module 13: Updating Data by Using WCF Data Services

  • Lesson 1: Creating, Updating, and Deleting Data in a WCF Data Service
  • Lesson 2: Preventing Unauthorized Updates and Improving Performance
  • Lesson 3: Using WCF Data Services with Nonrelational Data

After completing this module, students will be able to:

  • 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

Module 14: Using ADO.NET

  • Lesson 1: Retrieving and Modifying Data by Using ADO.NET Commands
  • Lesson 2: Retrieving and Modifying Data by Using DataSets
  • Lesson 3: Managing Transactions and Concurrency in Multiuser Scenarios

After completing this module, students will be able to:

  • 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

Module 15: Using LINQ to SQL

  • Lesson 1: Implementing a Logical Data Model by Using LINQ to SQL
  • Lesson 2: Managing Performance and Handling Concurrency

After completing this module, students will be able to:

  • Design a logical data model by using LINQ to SQL
  • Manage performance by using LINQ to SQL, and handle concurrency

Need to train your team?

All of our sessions can be customized to meet your team’s specific need. Build the perfect program by picking and choosing topics from any of the courses in our catalog. A personalized private session gives you the ultimate flexibility and helps maximize your team’s valuable time!

Requesting Team Training
DateTimeTypePriceAdd To Cart

Developing Data Access Solutions with Microsoft Visual Studio 2010

5 Day
Classroom

$3,095.00

Chat with a Coach

Chat with a Coach

Have a more immediate need? Why spend the next hour searching online for answers when you can spend just 15 minutes with one of our experts and get accurate and personalized answers to all of your questions. 

$9.99 | 15 Minutes

Book Now