SlideShare a Scribd company logo
MS 10265 Developing Data Access Solutions with Microsoft Visual Studio
                                 2010
                                                                          Course Summary

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.

Objectives
At the end of 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.

Topics

      •      Architecture and Data Access Technologies                                                         •      Querying Entity Data
      •      Building Entity Data Models                                                                       •      Creating, Updating, and Deleting Entity Data
 Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational
   purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically

10265DEVELOPINGDATAACCESSSOLUTIONSWITHMICROSOFTVISUALSTUDIO2010-110311182356-PHPAPP02.DOC
•      Handling Multi-User Scenarios by Using
             Object Services
MOC 10265 Developing Data Access Solutions with Microsoft Visual Studio
                               2010
                                                                 Course Summary (cont’d)


      •      Building Optimized Solutions by Using                                                             •      Handling Updates in an N-Tier Solution by
             Object Services                                                                                          Using the Entity Framework
      •      Customizing Entities and Building Custom                                                          •      Building Occasionally Connected Solutions
             Entity Classes                                                                                    •      Querying Data by Using WCF Data Services
      •      Using POCO Classes with the Entity                                                                •      Updating Data by Using WCF Data Services
             Framework
                                                                                                               •      Using ADO.NET
      •      Building an N-Tier Solution by Using the
             Entity Framework
                                                                                                               •      Using LINQ to SQL

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

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:
        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
 Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational
   purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically

10265DEVELOPINGDATAACCESSSOLUTIONSWITHMICROSOFTVISUALSTUDIO2010-110311182356-PHPAPP02.DOC
o      Windows scripting techniques




MOC 10265 Developing Data Access Solutions with Microsoft Visual Studio
                               2010
                                                                 Course Summary (cont’d)

      •      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
 Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational
   purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically

10265DEVELOPINGDATAACCESSSOLUTIONSWITHMICROSOFTVISUALSTUDIO2010-110311182356-PHPAPP02.DOC
o      Implementing basic security best practices in .NET Applications
                     Basics of Code Access Security
                     Basics of Role-Based Security
                     Basics of Cryptography Services


MOC 10265 Developing Data Access Solutions with Microsoft Visual Studio
                               2010
                                                                 Course Summary (cont’d)

             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
             o Implement data validation at the UI layer

Duration

Five days




 Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational
   purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically

10265DEVELOPINGDATAACCESSSOLUTIONSWITHMICROSOFTVISUALSTUDIO2010-110311182356-PHPAPP02.DOC
MOC 10265 Developing Data Access Solutions with Microsoft Visual Studio
                               2010
                                                                             Course Outline

I.Architecture and Data Access Technologies                                                                    •      Modify an Entity Data Model by using the
This module describes the commonly used data                                                                          Entity Designer.
access technologies and scenarios in which you are                                                             •      Customize a model to meet their business
likely to use them.                                                                                                   requirements.
     A. Data Access Technologies
     B. Data Access Scenarios                                                                           III.Querying Entity Data
                                                                                                        This module explains how to query an entity data
Lab: Analyzing Data Access Scenarios                                                                    model by using common methods such as LINQ to
   • Identifying Data Access Technologies                                                               Entities, Entity SQL, and the classes in the
                                                                                                        EntityClient namespace.
After completing this module, students will be                                                               A. Retrieving Data by Using LINQ to Entities
able to:                                                                                                     B. Retrieving Data by Using Entity SQL
    • Describe the key data access technologies                                                              C. Retrieving Data by Using EntityClient
         available to .NET Framework developers.                                                                 Provider
    • Assign appropriate data access                                                                         D. Retrieving Data by Using Stored Procedures
         technologies to common data access                                                                  E. Unit Testing Your Data Access Code
         scenarios.
                                                                                                        Lab: Querying Entity Data
II.Building Entity Data Models                                                                             • Retrieving All Contact Entities
This module introduces the concepts of data                                                                • Retrieving Contact Entities by Using a Filter
modeling, and in particular, Entity Data Models                                                            • Retrieving RewardsClaimed Entities
(EDMs). It explains how you can use EDMs to                                                                • Querying the Rewards Family of Entities
decouple the conceptual data structure in your                                                             • Executing a Stored Procedure
applications from the logical data structure in the
data store.                                                                                             After completing this module, students will be
     A. Introduction to Entity Data Models                                                              able to:
     B. Modifying the Entity Data Model                                                                     • Retrieve data by using LINQ to Entities.
     C. Customizing the Entity Data Model                                                                   • Retrieve data by using the Entity SQL
                                                                                                                 language.
Lab: Using Entity Data Models                                                                               • Retrieve data by using the EntityClient
   • Generating an EDM from the                                                                                  Provider.
       AdventureWorks Database                                                                              • Retrieve data by using stored procedures in
   • Adding Entities and Associations                                                                            the entity model.
   • Using the Generate Database Wizard                                                                     • Create unit tests for their data access code.
   • Mapping Entities to Multiple Tables
   • Implementing an Inheritance Hierarchy                                                              IV.Creating, Updating, and Deleting Entity Data
   • Using Stored Procedures                                                                            This module introduces you to the ways that the
   • Creating a Complex Type                                                                            Entity Framework enables you to modify the data in
                                                                                                        your database. You apply changes to the entities
After completing this module, students will be                                                          managed by the ObjectContext class. The
able to:                                                                                                ObjectContext class is responsible for tracking all
    • Describe and create an Entity Data Model.                                                         changes to entities and then persisting these
                                                                                                        changes to the database on request.
 Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational
   purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically

10265DEVELOPINGDATAACCESSSOLUTIONSWITHMICROSOFTVISUALSTUDIO2010-110311182356-PHPAPP02.DOC
A. Understanding Change Tracking in the                                                                  B. Modifying Data in an Entity Data Model
         Entity Framework
MOC 10265 Developing Data Access Solutions with Microsoft Visual Studio
                               2010
                                                                    Course Outline (cont’d)

Lab: Creating, Updating, and Deleting Entity Data                                                       VI.Building Optimized Solutions by Using Object
   • Maintaining Contact and Reward Data                                                                Services
   • Maintaining RewardsClaim Data                                                                      This module explains best practices for designing
                                                                                                        and building a scalable, optimized data access layer
After completing this module, students will be                                                          by using Object Services. The module introduces
able to:                                                                                                several techniques that can be used to optimize the
    • Describe how the Entity Framework                                                                 performance of queries that execute against the
         implements change tracking.                                                                    conceptual model.
    • Describe how to modify data in the entity                                                             A. The Stages of Query Execution
         model, and persist the changes to the                                                              B. Change Tracking and Object Materialization
         database.                                                                                          C. Using Compiled Queries
                                                                                                            D. Using Design-Time Generated Entity
                                                                                                                 Framework Views
V.Handling Multi-User Scenarios by Using Object
                                                                                                            E. Monitoring Performance
Services
                                                                                                            F. Performing Asynchronous Data
This module introduces the concurrency model that
                                                                                                                 Modifications
the Entity Framework uses to address the issues
faced by applications that must support multiple
users who access the same data simultaneously. It                                                       Lab: Building Optimized Solutions by Using
also describes how the Entity Framework can make                                                        Object Services
use of transactions to ensure data integrity.                                                              • Improving the Performance of Query
    A. Handling Concurrency in the Entity                                                                      Operations
         Framework                                                                                         • Improving the Performance of Update
    B. Transactional Support in the Entity                                                                     Operations
         Framework
                                                                                                        After completing this module, students will be
Lab: Handling Multi-User Scenarios by Using                                                             able to:
Object Services                                                                                             • Explain how the Entity Framework executes
   • Handling Concurrency of Rewards Claimed                                                                     queries.
       Data                                                                                                 • Understand the impact of tracking and
   • Updating the RewardsClaimed and                                                                             object materialization on query performance.
       ArchivedRewardsClaimed Information by                                                                • Describe how to use compiled queries.
       Using a Transaction                                                                                  • Describe how to use design-time generated
                                                                                                                 views.
After completing this module, students will be                                                              • Describe how to monitor query performance.
able to:                                                                                                    • Describe how to perform asynchronous data
    • Describe the optimistic concurrency model                                                                  modifications.
         that the Entity Framework uses.
    • Manage transactions in applications that use                                                      VII.Customizing Entities and Building Custom Entity
         the Entity Framework.                                                                          Classes
                                                                                                        This module describes how to customize and extend
                                                                                                        entities with your own business logic.
                                                                                                             A. Overriding Generated Classes
                                                                                                             B. Using Templates to Customize Entities
 Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational
   purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically

10265DEVELOPINGDATAACCESSSOLUTIONSWITHMICROSOFTVISUALSTUDIO2010-110311182356-PHPAPP02.DOC
C. Creating and Using Custom Entity Classes



MOC 10265 Developing Data Access Solutions with Microsoft Visual Studio
                               2010
                                                                    Course Outline (cont’d)

Lab: Customizing Entities and Building Custom                                                                  •      Create POCO entities that support
Entity Classes                                                                                                        automatic lazy loading.
    • Using a Template to Add Custom                                                                           •      Create POCO entities that support
        Functionality to Entity Classes                                                                               automatic change tracking.
    • Creating Custom Entity Classes                                                                           •      Describe the options for using interfaces and
                                                                                                                      inheritance to create custom entity objects.
After completing this module, students will be
able to:                                                                                                IX.Building an N-Tier Solution by Using the Entity
    • Use partial classes and methods to add                                                            Framework
         business logic to generated code.                                                              This module explains how to address the
    • Create and use templates to customize code                                                        architectural issues that can arise when building an
         generation.                                                                                    N-Tier enterprise application by using the Entity
    • Modify existing business classes to take                                                          Framework.
         advantage of entity functionality.                                                                 A. Designing an N-Tier Solution
                                                                                                            B. Defining Operations and Implementing Data
VIII.Using POCO Classes with the Entity Framework                                                                Transport Structures
This module introduces the ways in which you can                                                            C. Protecting Data and Operations
define custom entity classes in your Entity
Framework application. By default, Microsoft Visual                                                     Lab: Building an N-Tier Solution by Using the
Studio generates a set of entity classes for you from                                                   Entity Framework
the Entity Data Model (EDM). Instead of these                                                               • Creating the Contacts and Orders Data
generated classes, you may want to use an existing                                                              Access Tier
set of "plain old" CLR objects (POCO) business                                                              • Protecting Data Access Operations
classes in your application You can also extend the
generated entity classes to add custom business                                                         After completing this module, students will be
functionality to your entity objects.                                                                   able to:
     A. Requirements for POCO Classes                                                                       • Describe the issues and strategies that are
     B. POCO Classes and Lazy Loading                                                                            relevant to building n-tier applications.
     C. POCO Classes and Change Tracking                                                                    • Understand the key components that they
     D. Extending Entity Types                                                                                   must create in order to implement an n-tier
                                                                                                                 application.
Lab: Using POCO Classes with the Entity                                                                     • Describe how to protect operations and data
Framework                                                                                                        in an n-tier application.
   • Using POCO Classes
   • Extending Your POCO Classes                                                                        X.Handling Updates in an N-Tier Solution by Using
                                                                                                        the Entity Framework
After completing this module, students will be                                                          This module describes how you can handle data
able to:                                                                                                modifications in an n-tier solution. The module
    • List the requirements that their POCO                                                             describes the different strategies for handling
         classes must meet.                                                                             modifications that you should use for the different
 Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational
   purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically

10265DEVELOPINGDATAACCESSSOLUTIONSWITHMICROSOFTVISUALSTUDIO2010-110311182356-PHPAPP02.DOC
alternative formats for transporting data between                                                       exceptions that can occur during the data
tiers: data transfer objects (DTOs), self-tracking                                                      modification process.
entities (STEs), and simple entities (SEs). The
module also describes how to manage the
MOC 10265 Developing Data Access Solutions with Microsoft Visual Studio
                               2010
                                                                    Course Outline (cont’d)

      A. Tracking Entities and Persisting Changes                                                       XII.Querying Data by Using WCF Data Services
      B. Managing Exceptions in an N-Tier Solution                                                      Windows Communication Foundation (WCF) Data
                                                                                                        Services enable you to create highly flexible data
Lab: Handling Updates in an N-Tier Solution by                                                          services that can be used to provide access to data
Using the Entity Framework                                                                              across the Internet or a corporate network. You can
   • Handling Updates in the Data Access Tier                                                           access these services by using REST-style URIs,
   • Detecting and Handling Order Conflicts                                                             and they can be easily consumed by a wide variety
                                                                                                        of applications. As WCF Data Services are build on
After completing this module, students will be                                                          top of standard Internet protocols such as HTTP and
able to:                                                                                                the Atom Publishing Protocol, they are an ideal
    • Describe strategies that they can adopt for                                                       choice for delivering data to AJAX applications and
         tracking changes in the client application,                                                    Rich Interactive Applications built using technologies
         and persisting those changes in the                                                            such as Microsoft Silverlight.
         database.                                                                                          A. Introduction to WCF Data Services
                                                                                                            B. Creating a WCF Data Service
    • Describe how to trap and handle update and
                                                                                                            C. Consuming a WCF Data Service
         concurrency exceptions in the an n-tier
                                                                                                            D. Protecting Data and Operations in a WCF
         solution.
                                                                                                                 Data Service
XI.Building Occasionally Connected Solutions
                                                                                                        Lab: Creating and Using WCF Data Services
This module describes how to access offline or
occasionally connected data in client applications.                                                        • Exposing Order Data as a WCF Data
    A. Offline Data Caching by Using XML                                                                       Service
    B. Using the Sync Framework                                                                            • Consuming a WCF Data Service
                                                                                                           • Restricting Access to Data Exposed by a
                                                                                                               WCF Data Service
Lab: Building Occasionally Connected Solutions
                                                                                                           • Implementing a Business Operation in a
   • Modifying the Orders Application to Use
                                                                                                               WCF Data Service
       Offline XML Data
   • Modifying the Orders Application to
                                                                                                        After completing this module, students will be
       Synchronize Locally Cached Data
                                                                                                        able to:
                                                                                                            • Describe the purpose and features of WCF
After completing this module, students will be
                                                                                                                 Data Services.
able to:
                                                                                                            • Expose data by using a WCF Data Service.
    • Cache data in local XML files by using LINQ
         to XML.                                                                                            • Implement a client application that can
                                                                                                                 consume a WCF Data Service.
    • Implement an occasionally connected
         application by using the Microsoft Sync                                                            • Grant and restrict access to resources
         Framework.                                                                                              exposed by a WCF Data Service.




 Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational
   purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically

10265DEVELOPINGDATAACCESSSOLUTIONSWITHMICROSOFTVISUALSTUDIO2010-110311182356-PHPAPP02.DOC
XIII.Updating Data by Using WCF Data Services                                                                  A. Creating, Updating, and Deleting Data in a
This module describes how to use WCF Data                                                                         WCF Data Service
Services to create, update, and delete data. WCF                                                               B. Preventing Unauthorized Updates and
Data Services use standard internet protocols such                                                                Improving Performance
as HTTP and the Atom Publishing Protocol to enable
update access to data across the Internet or a
corporate network.
MOC 10265 Developing Data Access Solutions with Microsoft Visual Studio
                               2010
                                                                    Course Outline (cont’d)

      C. Using WCF Data Services with                                                                          •      Using ADO.NET to Retrieve Read-Only
         Nonrelational Data                                                                                           Information Quickly and Perform Simple
                                                                                                                      Data Modifications
Lab: Updating Data by Using WCF Data Services                                                                  •      Developing the Product List Web Application
   • Updating Entities by Using a WCF Data                                                                     •      Enabling Data Modifications
       Service
   • Creating and Deleting Entities by Using a                                                          After completing this module, students will be
       WCF Data Service                                                                                 able to:
   • Restricting Create, Update, and Delete                                                                 • Retrieve and update data by using
       Requests                                                                                                  ADO.NET commands and stored
                                                                                                                 procedures.
After completing this module, students will be                                                              • Retrieve and update data by using DataSet
able to:                                                                                                         objects.
    • Create, update, and delete entities by using                                                          • Implement transactions and handle
         a WCF Data Service.                                                                                     concurrency exceptions.
    • Control access to data modification
         functionality, and improve performance by                                                      XV.Using LINQ to SQL
         batching commands together.                                                                    ADO.NET provides a mechanism that enables you
    • Use WCF Data Services to access and                                                               to build applications that can query and maintain
         modify nonrelational data.                                                                     data that is held in a variety of sources in a
                                                                                                        database-agnostic manner. However, building
XIV.Using ADO.NET                                                                                       applications by using ADO.NET requires that you
ADO.NET is a highly flexible framework for building                                                     are familiar with the Structured Query Language
applications that require access to data held in a                                                      (SQL) language and features of the database
data source. This module introduces ADO.NET and                                                         management system that you are connecting to.
explains how you can use it to develop scalable,                                                        Language-Integrated Query (LINQ) to SQL provides
high-performance, data-driven applications.                                                             a higher-level abstraction for managing data that is
    A. Retrieving and Modifying Data by Using                                                           held in a Microsoft SQL Server database, and is an
         ADO.NET Commands                                                                               ideal stepping stone for migrating ADO.NET
    B. Retrieving and Modifying Data by Using                                                           applications toward the ADO.NET Entity Framework.
         DataSets                                                                                       This module introduces LINQ to SQL and explains
    C. Managing Transactions and Concurrency in                                                         how you can use it to abstract the low-level details of
         Multiuser Scenarios                                                                            ADO.NET queries by developing against a logical
                                                                                                        data model.
Lab: Using ADO.NET                                                                                          A. Implementing a Logical Data Model by
                                                                                                                 Using LINQ to SQL


 Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational
   purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically

10265DEVELOPINGDATAACCESSSOLUTIONSWITHMICROSOFTVISUALSTUDIO2010-110311182356-PHPAPP02.DOC
B. 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

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.




 Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational
   purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically

10265DEVELOPINGDATAACCESSSOLUTIONSWITHMICROSOFTVISUALSTUDIO2010-110311182356-PHPAPP02.DOC

More Related Content

What's hot

Vsts intro
Vsts introVsts intro
Vsts intro
Sevajothi Crafts
 
Vb.net session 03
Vb.net session 03Vb.net session 03
Vb.net session 03Niit Care
 
Our research lines on Model-Driven Engineering and Software Engineering
Our research lines on Model-Driven Engineering and Software EngineeringOur research lines on Model-Driven Engineering and Software Engineering
Our research lines on Model-Driven Engineering and Software Engineering
Jordi Cabot
 
Wintellect - Devscovery - Portable Class Library
Wintellect - Devscovery - Portable Class LibraryWintellect - Devscovery - Portable Class Library
Wintellect - Devscovery - Portable Class LibraryJeremy Likness
 
Mohamed Aashik Ali.A_original - USA
Mohamed Aashik Ali.A_original - USAMohamed Aashik Ali.A_original - USA
Mohamed Aashik Ali.A_original - USAMohamed Ali
 
programacion orientado a abjetos poo
programacion orientado a abjetos pooprogramacion orientado a abjetos poo
programacion orientado a abjetos pooRasec De La Cruz
 
.Net Developer Krystal Ou
.Net Developer Krystal Ou.Net Developer Krystal Ou
.Net Developer Krystal Ou
kenesay94
 
MHa Resume Aug 27 2012
MHa Resume Aug 27 2012MHa Resume Aug 27 2012
MHa Resume Aug 27 2012mhaapane
 
DITAworks Integartion With RCP
DITAworks Integartion With RCPDITAworks Integartion With RCP
DITAworks Integartion With RCP
wild_wild_leha
 
Win net presentacion [2005]
Win net presentacion [2005]Win net presentacion [2005]
Win net presentacion [2005]Raul Soto
 

What's hot (19)

Vsts intro
Vsts introVsts intro
Vsts intro
 
Vb.net session 03
Vb.net session 03Vb.net session 03
Vb.net session 03
 
CV_Olivera_Juan_Pablo
CV_Olivera_Juan_PabloCV_Olivera_Juan_Pablo
CV_Olivera_Juan_Pablo
 
Our research lines on Model-Driven Engineering and Software Engineering
Our research lines on Model-Driven Engineering and Software EngineeringOur research lines on Model-Driven Engineering and Software Engineering
Our research lines on Model-Driven Engineering and Software Engineering
 
Wintellect - Devscovery - Portable Class Library
Wintellect - Devscovery - Portable Class LibraryWintellect - Devscovery - Portable Class Library
Wintellect - Devscovery - Portable Class Library
 
Unit 01 - Introduction
Unit 01 - IntroductionUnit 01 - Introduction
Unit 01 - Introduction
 
Mohamed Aashik Ali.A_original - USA
Mohamed Aashik Ali.A_original - USAMohamed Aashik Ali.A_original - USA
Mohamed Aashik Ali.A_original - USA
 
programacion orientado a abjetos poo
programacion orientado a abjetos pooprogramacion orientado a abjetos poo
programacion orientado a abjetos poo
 
.Net Developer Krystal Ou
.Net Developer Krystal Ou.Net Developer Krystal Ou
.Net Developer Krystal Ou
 
Indranil_Bhowmick_Resume
Indranil_Bhowmick_ResumeIndranil_Bhowmick_Resume
Indranil_Bhowmick_Resume
 
Ramakrishna Embari
Ramakrishna EmbariRamakrishna Embari
Ramakrishna Embari
 
Unit 04: From Requirements to the UX Model
Unit 04: From Requirements to the UX ModelUnit 04: From Requirements to the UX Model
Unit 04: From Requirements to the UX Model
 
MHa Resume Aug 27 2012
MHa Resume Aug 27 2012MHa Resume Aug 27 2012
MHa Resume Aug 27 2012
 
Lalith Thota
Lalith ThotaLalith Thota
Lalith Thota
 
Resume
ResumeResume
Resume
 
DITAworks Integartion With RCP
DITAworks Integartion With RCPDITAworks Integartion With RCP
DITAworks Integartion With RCP
 
Win net presentacion [2005]
Win net presentacion [2005]Win net presentacion [2005]
Win net presentacion [2005]
 
Manikanta_Chimata
Manikanta_ChimataManikanta_Chimata
Manikanta_Chimata
 
Sathish-Resume
Sathish-ResumeSathish-Resume
Sathish-Resume
 

Viewers also liked

6421 configuring and troubleshooting win server 2008 network infrastructure
6421   configuring and troubleshooting win server 2008 network infrastructure6421   configuring and troubleshooting win server 2008 network infrastructure
6421 configuring and troubleshooting win server 2008 network infrastructurebestip
 
Ms 5050
Ms 5050Ms 5050
Ms 5050bestip
 
5178 implementing and maintaining audio visual conferencing and web conferenc...
5178 implementing and maintaining audio visual conferencing and web conferenc...5178 implementing and maintaining audio visual conferencing and web conferenc...
5178 implementing and maintaining audio visual conferencing and web conferenc...bestip
 
V mware view 4.5
V mware view 4.5V mware view 4.5
V mware view 4.5bestip
 
6231 maintaining a microsoft sql server 2008 database
6231 maintaining a microsoft sql server 2008 database6231 maintaining a microsoft sql server 2008 database
6231 maintaining a microsoft sql server 2008 databasebestip
 
Cipt1 implementing cisco unified communications ip telephony part 1
Cipt1   implementing cisco unified communications ip telephony part 1Cipt1   implementing cisco unified communications ip telephony part 1
Cipt1 implementing cisco unified communications ip telephony part 1bestip
 

Viewers also liked (6)

6421 configuring and troubleshooting win server 2008 network infrastructure
6421   configuring and troubleshooting win server 2008 network infrastructure6421   configuring and troubleshooting win server 2008 network infrastructure
6421 configuring and troubleshooting win server 2008 network infrastructure
 
Ms 5050
Ms 5050Ms 5050
Ms 5050
 
5178 implementing and maintaining audio visual conferencing and web conferenc...
5178 implementing and maintaining audio visual conferencing and web conferenc...5178 implementing and maintaining audio visual conferencing and web conferenc...
5178 implementing and maintaining audio visual conferencing and web conferenc...
 
V mware view 4.5
V mware view 4.5V mware view 4.5
V mware view 4.5
 
6231 maintaining a microsoft sql server 2008 database
6231 maintaining a microsoft sql server 2008 database6231 maintaining a microsoft sql server 2008 database
6231 maintaining a microsoft sql server 2008 database
 
Cipt1 implementing cisco unified communications ip telephony part 1
Cipt1   implementing cisco unified communications ip telephony part 1Cipt1   implementing cisco unified communications ip telephony part 1
Cipt1 implementing cisco unified communications ip telephony part 1
 

Similar to 10265 developing data access solutions with microsoft visual studio 2010

Ananth_Ravishankar
Ananth_RavishankarAnanth_Ravishankar
Ananth_Ravishankarananth R
 
Entity Framework Core 1.0
Entity Framework Core 1.0Entity Framework Core 1.0
Entity Framework Core 1.0
Senthil Kumar
 
Khushali Patel-resume-
Khushali Patel-resume-Khushali Patel-resume-
Khushali Patel-resume-Khushali11
 
Aftab Jahangeer_Dot Net
Aftab Jahangeer_Dot NetAftab Jahangeer_Dot Net
Aftab Jahangeer_Dot NetAftab Jahangir
 
Paul Kadzielawa Resume
Paul Kadzielawa ResumePaul Kadzielawa Resume
Paul Kadzielawa ResumePKadzielawa
 
Nitin Chavan_Resume_Others
Nitin Chavan_Resume_OthersNitin Chavan_Resume_Others
Nitin Chavan_Resume_OthersNitin Chavan
 
Divya ASP Developer
Divya ASP Developer Divya ASP Developer
Divya ASP Developer divya k
 
Akshay_Paliwal_Lead_Developer
Akshay_Paliwal_Lead_DeveloperAkshay_Paliwal_Lead_Developer
Akshay_Paliwal_Lead_Developerakshaypaliwal23
 
S Kumar Resume
S Kumar ResumeS Kumar Resume
S Kumar ResumeS Kumar
 

Similar to 10265 developing data access solutions with microsoft visual studio 2010 (20)

Ananth_Ravishankar
Ananth_RavishankarAnanth_Ravishankar
Ananth_Ravishankar
 
Kumar_Resume - LinkedIn
Kumar_Resume - LinkedInKumar_Resume - LinkedIn
Kumar_Resume - LinkedIn
 
AbhishekKapuria
AbhishekKapuriaAbhishekKapuria
AbhishekKapuria
 
KhajavaliShaik
KhajavaliShaikKhajavaliShaik
KhajavaliShaik
 
Resume
ResumeResume
Resume
 
Suresh_Resume
Suresh_ResumeSuresh_Resume
Suresh_Resume
 
Entity Framework Core 1.0
Entity Framework Core 1.0Entity Framework Core 1.0
Entity Framework Core 1.0
 
Chalam_JAVA_Portal
Chalam_JAVA_PortalChalam_JAVA_Portal
Chalam_JAVA_Portal
 
Resume_Robert Rajakumar
Resume_Robert RajakumarResume_Robert Rajakumar
Resume_Robert Rajakumar
 
Khushali Patel-resume-
Khushali Patel-resume-Khushali Patel-resume-
Khushali Patel-resume-
 
Aftab Jahangeer_Dot Net
Aftab Jahangeer_Dot NetAftab Jahangeer_Dot Net
Aftab Jahangeer_Dot Net
 
Arun Kumar(7.8Yrs).DOC
Arun Kumar(7.8Yrs).DOCArun Kumar(7.8Yrs).DOC
Arun Kumar(7.8Yrs).DOC
 
Paul Kadzielawa Resume
Paul Kadzielawa ResumePaul Kadzielawa Resume
Paul Kadzielawa Resume
 
Nitin Chavan_Resume_Others
Nitin Chavan_Resume_OthersNitin Chavan_Resume_Others
Nitin Chavan_Resume_Others
 
Prashant Patel
Prashant PatelPrashant Patel
Prashant Patel
 
Prasanth_CV
Prasanth_CVPrasanth_CV
Prasanth_CV
 
Divya ASP Developer
Divya ASP Developer Divya ASP Developer
Divya ASP Developer
 
Akshay_Paliwal_Lead_Developer
Akshay_Paliwal_Lead_DeveloperAkshay_Paliwal_Lead_Developer
Akshay_Paliwal_Lead_Developer
 
S Kumar Resume
S Kumar ResumeS Kumar Resume
S Kumar Resume
 
Resume
ResumeResume
Resume
 

More from bestip

Cipt2 implementing cisco unified communications ip telephony part 2
Cipt2   implementing cisco unified communications ip telephony part 2Cipt2   implementing cisco unified communications ip telephony part 2
Cipt2 implementing cisco unified communications ip telephony part 2bestip
 
6294 a planning and managing windows 7 desktop deployments and environments
6294 a planning and managing windows 7 desktop deployments and environments6294 a planning and managing windows 7 desktop deployments and environments
6294 a planning and managing windows 7 desktop deployments and environmentsbestip
 
Lab view daq signal conditioniing
Lab view daq signal conditioniingLab view daq signal conditioniing
Lab view daq signal conditioniingbestip
 
Lab view instrument control
Lab view instrument controlLab view instrument control
Lab view instrument controlbestip
 
Lab view core 2 outline
Lab view core 2 outlineLab view core 2 outline
Lab view core 2 outlinebestip
 
Lab view core 1 outline
Lab view core 1 outlineLab view core 1 outline
Lab view core 1 outlinebestip
 
Deploying cisco asa firewall features
Deploying cisco asa firewall featuresDeploying cisco asa firewall features
Deploying cisco asa firewall featuresbestip
 
6010 java programming version 6
6010 java programming version 66010 java programming version 6
6010 java programming version 6bestip
 
10264 developing web applications with microsoft visual studio 2010
10264 developing web applications with microsoft visual studio 201010264 developing web applications with microsoft visual studio 2010
10264 developing web applications with microsoft visual studio 2010bestip
 
10266 developing data access solutions with microsoft visual studio 2010
10266 developing data access solutions with microsoft visual studio 201010266 developing data access solutions with microsoft visual studio 2010
10266 developing data access solutions with microsoft visual studio 2010bestip
 
7806 java 6 programming essentials using helios eclipse
7806 java 6 programming essentials using helios eclipse7806 java 6 programming essentials using helios eclipse
7806 java 6 programming essentials using helios eclipsebestip
 
Spf1v10 microsoft windows share point foundation 2010 - level 1
Spf1v10   microsoft windows share point foundation 2010 - level 1Spf1v10   microsoft windows share point foundation 2010 - level 1
Spf1v10 microsoft windows share point foundation 2010 - level 1bestip
 
10232 designing and developing microsoft share point server 2010 applications
10232   designing and developing microsoft share point server 2010 applications 10232   designing and developing microsoft share point server 2010 applications
10232 designing and developing microsoft share point server 2010 applications bestip
 
Ceh certified ethical hacker
Ceh   certified ethical hackerCeh   certified ethical hacker
Ceh certified ethical hackerbestip
 
Network+
Network+Network+
Network+bestip
 
5177 implementing and maintaining instant messaging using microsoft office ...
5177   implementing and maintaining instant messaging using microsoft office ...5177   implementing and maintaining instant messaging using microsoft office ...
5177 implementing and maintaining instant messaging using microsoft office ...bestip
 
Security+
Security+Security+
Security+bestip
 
BEST IP Training Schedule Winter and Spring 2011
BEST IP Training Schedule Winter and Spring 2011BEST IP Training Schedule Winter and Spring 2011
BEST IP Training Schedule Winter and Spring 2011bestip
 
6292 installing and configuring windows 7 client
6292   installing and configuring windows 7 client6292   installing and configuring windows 7 client
6292 installing and configuring windows 7 clientbestip
 
6232 implementing a microsoft sql server 2008 database
6232 implementing a microsoft sql server 2008 database6232 implementing a microsoft sql server 2008 database
6232 implementing a microsoft sql server 2008 databasebestip
 

More from bestip (20)

Cipt2 implementing cisco unified communications ip telephony part 2
Cipt2   implementing cisco unified communications ip telephony part 2Cipt2   implementing cisco unified communications ip telephony part 2
Cipt2 implementing cisco unified communications ip telephony part 2
 
6294 a planning and managing windows 7 desktop deployments and environments
6294 a planning and managing windows 7 desktop deployments and environments6294 a planning and managing windows 7 desktop deployments and environments
6294 a planning and managing windows 7 desktop deployments and environments
 
Lab view daq signal conditioniing
Lab view daq signal conditioniingLab view daq signal conditioniing
Lab view daq signal conditioniing
 
Lab view instrument control
Lab view instrument controlLab view instrument control
Lab view instrument control
 
Lab view core 2 outline
Lab view core 2 outlineLab view core 2 outline
Lab view core 2 outline
 
Lab view core 1 outline
Lab view core 1 outlineLab view core 1 outline
Lab view core 1 outline
 
Deploying cisco asa firewall features
Deploying cisco asa firewall featuresDeploying cisco asa firewall features
Deploying cisco asa firewall features
 
6010 java programming version 6
6010 java programming version 66010 java programming version 6
6010 java programming version 6
 
10264 developing web applications with microsoft visual studio 2010
10264 developing web applications with microsoft visual studio 201010264 developing web applications with microsoft visual studio 2010
10264 developing web applications with microsoft visual studio 2010
 
10266 developing data access solutions with microsoft visual studio 2010
10266 developing data access solutions with microsoft visual studio 201010266 developing data access solutions with microsoft visual studio 2010
10266 developing data access solutions with microsoft visual studio 2010
 
7806 java 6 programming essentials using helios eclipse
7806 java 6 programming essentials using helios eclipse7806 java 6 programming essentials using helios eclipse
7806 java 6 programming essentials using helios eclipse
 
Spf1v10 microsoft windows share point foundation 2010 - level 1
Spf1v10   microsoft windows share point foundation 2010 - level 1Spf1v10   microsoft windows share point foundation 2010 - level 1
Spf1v10 microsoft windows share point foundation 2010 - level 1
 
10232 designing and developing microsoft share point server 2010 applications
10232   designing and developing microsoft share point server 2010 applications 10232   designing and developing microsoft share point server 2010 applications
10232 designing and developing microsoft share point server 2010 applications
 
Ceh certified ethical hacker
Ceh   certified ethical hackerCeh   certified ethical hacker
Ceh certified ethical hacker
 
Network+
Network+Network+
Network+
 
5177 implementing and maintaining instant messaging using microsoft office ...
5177   implementing and maintaining instant messaging using microsoft office ...5177   implementing and maintaining instant messaging using microsoft office ...
5177 implementing and maintaining instant messaging using microsoft office ...
 
Security+
Security+Security+
Security+
 
BEST IP Training Schedule Winter and Spring 2011
BEST IP Training Schedule Winter and Spring 2011BEST IP Training Schedule Winter and Spring 2011
BEST IP Training Schedule Winter and Spring 2011
 
6292 installing and configuring windows 7 client
6292   installing and configuring windows 7 client6292   installing and configuring windows 7 client
6292 installing and configuring windows 7 client
 
6232 implementing a microsoft sql server 2008 database
6232 implementing a microsoft sql server 2008 database6232 implementing a microsoft sql server 2008 database
6232 implementing a microsoft sql server 2008 database
 

10265 developing data access solutions with microsoft visual studio 2010

  • 1. MS 10265 Developing Data Access Solutions with Microsoft Visual Studio 2010 Course Summary 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. Objectives At the end of 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. Topics • Architecture and Data Access Technologies • Querying Entity Data • Building Entity Data Models • Creating, Updating, and Deleting Entity Data Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically 10265DEVELOPINGDATAACCESSSOLUTIONSWITHMICROSOFTVISUALSTUDIO2010-110311182356-PHPAPP02.DOC
  • 2. Handling Multi-User Scenarios by Using Object Services MOC 10265 Developing Data Access Solutions with Microsoft Visual Studio 2010 Course Summary (cont’d) • Building Optimized Solutions by Using • Handling Updates in an N-Tier Solution by Object Services Using the Entity Framework • Customizing Entities and Building Custom • Building Occasionally Connected Solutions Entity Classes • Querying Data by Using WCF Data Services • Using POCO Classes with the Entity • Updating Data by Using WCF Data Services Framework • Using ADO.NET • Building an N-Tier Solution by Using the Entity Framework • Using LINQ to SQL 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 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: 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 Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically 10265DEVELOPINGDATAACCESSSOLUTIONSWITHMICROSOFTVISUALSTUDIO2010-110311182356-PHPAPP02.DOC
  • 3. o Windows scripting techniques MOC 10265 Developing Data Access Solutions with Microsoft Visual Studio 2010 Course Summary (cont’d) • 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 Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically 10265DEVELOPINGDATAACCESSSOLUTIONSWITHMICROSOFTVISUALSTUDIO2010-110311182356-PHPAPP02.DOC
  • 4. o Implementing basic security best practices in .NET Applications  Basics of Code Access Security  Basics of Role-Based Security  Basics of Cryptography Services MOC 10265 Developing Data Access Solutions with Microsoft Visual Studio 2010 Course Summary (cont’d) 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 o Implement data validation at the UI layer Duration Five days Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically 10265DEVELOPINGDATAACCESSSOLUTIONSWITHMICROSOFTVISUALSTUDIO2010-110311182356-PHPAPP02.DOC
  • 5. MOC 10265 Developing Data Access Solutions with Microsoft Visual Studio 2010 Course Outline I.Architecture and Data Access Technologies • Modify an Entity Data Model by using the This module describes the commonly used data Entity Designer. access technologies and scenarios in which you are • Customize a model to meet their business likely to use them. requirements. A. Data Access Technologies B. Data Access Scenarios III.Querying Entity Data This module explains how to query an entity data Lab: Analyzing Data Access Scenarios model by using common methods such as LINQ to • Identifying Data Access Technologies Entities, Entity SQL, and the classes in the EntityClient namespace. After completing this module, students will be A. Retrieving Data by Using LINQ to Entities able to: B. Retrieving Data by Using Entity SQL • Describe the key data access technologies C. Retrieving Data by Using EntityClient available to .NET Framework developers. Provider • Assign appropriate data access D. Retrieving Data by Using Stored Procedures technologies to common data access E. Unit Testing Your Data Access Code scenarios. Lab: Querying Entity Data II.Building Entity Data Models • Retrieving All Contact Entities This module introduces the concepts of data • Retrieving Contact Entities by Using a Filter modeling, and in particular, Entity Data Models • Retrieving RewardsClaimed Entities (EDMs). It explains how you can use EDMs to • Querying the Rewards Family of Entities decouple the conceptual data structure in your • Executing a Stored Procedure applications from the logical data structure in the data store. After completing this module, students will be A. Introduction to Entity Data Models able to: B. Modifying the Entity Data Model • Retrieve data by using LINQ to Entities. C. Customizing the Entity Data Model • Retrieve data by using the Entity SQL language. Lab: Using Entity Data Models • Retrieve data by using the EntityClient • Generating an EDM from the Provider. AdventureWorks Database • Retrieve data by using stored procedures in • Adding Entities and Associations the entity model. • Using the Generate Database Wizard • Create unit tests for their data access code. • Mapping Entities to Multiple Tables • Implementing an Inheritance Hierarchy IV.Creating, Updating, and Deleting Entity Data • Using Stored Procedures This module introduces you to the ways that the • Creating a Complex Type Entity Framework enables you to modify the data in your database. You apply changes to the entities After completing this module, students will be managed by the ObjectContext class. The able to: ObjectContext class is responsible for tracking all • Describe and create an Entity Data Model. changes to entities and then persisting these changes to the database on request. Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically 10265DEVELOPINGDATAACCESSSOLUTIONSWITHMICROSOFTVISUALSTUDIO2010-110311182356-PHPAPP02.DOC
  • 6. A. Understanding Change Tracking in the B. Modifying Data in an Entity Data Model Entity Framework MOC 10265 Developing Data Access Solutions with Microsoft Visual Studio 2010 Course Outline (cont’d) Lab: Creating, Updating, and Deleting Entity Data VI.Building Optimized Solutions by Using Object • Maintaining Contact and Reward Data Services • Maintaining RewardsClaim Data This module explains best practices for designing and building a scalable, optimized data access layer After completing this module, students will be by using Object Services. The module introduces able to: several techniques that can be used to optimize the • Describe how the Entity Framework performance of queries that execute against the implements change tracking. conceptual model. • Describe how to modify data in the entity A. The Stages of Query Execution model, and persist the changes to the B. Change Tracking and Object Materialization database. C. Using Compiled Queries D. Using Design-Time Generated Entity Framework Views V.Handling Multi-User Scenarios by Using Object E. Monitoring Performance Services F. Performing Asynchronous Data This module introduces the concurrency model that Modifications the Entity Framework uses to address the issues faced by applications that must support multiple users who access the same data simultaneously. It Lab: Building Optimized Solutions by Using also describes how the Entity Framework can make Object Services use of transactions to ensure data integrity. • Improving the Performance of Query A. Handling Concurrency in the Entity Operations Framework • Improving the Performance of Update B. Transactional Support in the Entity Operations Framework After completing this module, students will be Lab: Handling Multi-User Scenarios by Using able to: Object Services • Explain how the Entity Framework executes • Handling Concurrency of Rewards Claimed queries. Data • Understand the impact of tracking and • Updating the RewardsClaimed and object materialization on query performance. ArchivedRewardsClaimed Information by • Describe how to use compiled queries. Using a Transaction • Describe how to use design-time generated views. After completing this module, students will be • Describe how to monitor query performance. able to: • Describe how to perform asynchronous data • Describe the optimistic concurrency model modifications. that the Entity Framework uses. • Manage transactions in applications that use VII.Customizing Entities and Building Custom Entity the Entity Framework. Classes This module describes how to customize and extend entities with your own business logic. A. Overriding Generated Classes B. Using Templates to Customize Entities Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically 10265DEVELOPINGDATAACCESSSOLUTIONSWITHMICROSOFTVISUALSTUDIO2010-110311182356-PHPAPP02.DOC
  • 7. C. Creating and Using Custom Entity Classes MOC 10265 Developing Data Access Solutions with Microsoft Visual Studio 2010 Course Outline (cont’d) Lab: Customizing Entities and Building Custom • Create POCO entities that support Entity Classes automatic lazy loading. • Using a Template to Add Custom • Create POCO entities that support Functionality to Entity Classes automatic change tracking. • Creating Custom Entity Classes • Describe the options for using interfaces and inheritance to create custom entity objects. After completing this module, students will be able to: IX.Building an N-Tier Solution by Using the Entity • Use partial classes and methods to add Framework business logic to generated code. This module explains how to address the • Create and use templates to customize code architectural issues that can arise when building an generation. N-Tier enterprise application by using the Entity • Modify existing business classes to take Framework. advantage of entity functionality. A. Designing an N-Tier Solution B. Defining Operations and Implementing Data VIII.Using POCO Classes with the Entity Framework Transport Structures This module introduces the ways in which you can C. Protecting Data and Operations define custom entity classes in your Entity Framework application. By default, Microsoft Visual Lab: Building an N-Tier Solution by Using the Studio generates a set of entity classes for you from Entity Framework the Entity Data Model (EDM). Instead of these • Creating the Contacts and Orders Data generated classes, you may want to use an existing Access Tier set of "plain old" CLR objects (POCO) business • Protecting Data Access Operations classes in your application You can also extend the generated entity classes to add custom business After completing this module, students will be functionality to your entity objects. able to: A. Requirements for POCO Classes • Describe the issues and strategies that are B. POCO Classes and Lazy Loading relevant to building n-tier applications. C. POCO Classes and Change Tracking • Understand the key components that they D. Extending Entity Types must create in order to implement an n-tier application. Lab: Using POCO Classes with the Entity • Describe how to protect operations and data Framework in an n-tier application. • Using POCO Classes • Extending Your POCO Classes X.Handling Updates in an N-Tier Solution by Using the Entity Framework After completing this module, students will be This module describes how you can handle data able to: modifications in an n-tier solution. The module • List the requirements that their POCO describes the different strategies for handling classes must meet. modifications that you should use for the different Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically 10265DEVELOPINGDATAACCESSSOLUTIONSWITHMICROSOFTVISUALSTUDIO2010-110311182356-PHPAPP02.DOC
  • 8. alternative formats for transporting data between exceptions that can occur during the data tiers: data transfer objects (DTOs), self-tracking modification process. entities (STEs), and simple entities (SEs). The module also describes how to manage the MOC 10265 Developing Data Access Solutions with Microsoft Visual Studio 2010 Course Outline (cont’d) A. Tracking Entities and Persisting Changes XII.Querying Data by Using WCF Data Services B. Managing Exceptions in an N-Tier Solution Windows Communication Foundation (WCF) Data Services enable you to create highly flexible data Lab: Handling Updates in an N-Tier Solution by services that can be used to provide access to data Using the Entity Framework across the Internet or a corporate network. You can • Handling Updates in the Data Access Tier access these services by using REST-style URIs, • Detecting and Handling Order Conflicts and they can be easily consumed by a wide variety of applications. As WCF Data Services are build on After completing this module, students will be top of standard Internet protocols such as HTTP and able to: the Atom Publishing Protocol, they are an ideal • Describe strategies that they can adopt for choice for delivering data to AJAX applications and tracking changes in the client application, Rich Interactive Applications built using technologies and persisting those changes in the such as Microsoft Silverlight. database. A. Introduction to WCF Data Services B. Creating a WCF Data Service • Describe how to trap and handle update and C. Consuming a WCF Data Service concurrency exceptions in the an n-tier D. Protecting Data and Operations in a WCF solution. Data Service XI.Building Occasionally Connected Solutions Lab: Creating and Using WCF Data Services This module describes how to access offline or occasionally connected data in client applications. • Exposing Order Data as a WCF Data A. Offline Data Caching by Using XML Service B. Using the Sync Framework • Consuming a WCF Data Service • Restricting Access to Data Exposed by a WCF Data Service Lab: Building Occasionally Connected Solutions • Implementing a Business Operation in a • Modifying the Orders Application to Use WCF Data Service Offline XML Data • Modifying the Orders Application to After completing this module, students will be Synchronize Locally Cached Data able to: • Describe the purpose and features of WCF After completing this module, students will be Data Services. able to: • Expose data by using a WCF Data Service. • Cache data in local XML files by using LINQ to XML. • Implement a client application that can consume a WCF Data Service. • Implement an occasionally connected application by using the Microsoft Sync • Grant and restrict access to resources Framework. exposed by a WCF Data Service. Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically 10265DEVELOPINGDATAACCESSSOLUTIONSWITHMICROSOFTVISUALSTUDIO2010-110311182356-PHPAPP02.DOC
  • 9. XIII.Updating Data by Using WCF Data Services A. Creating, Updating, and Deleting Data in a This module describes how to use WCF Data WCF Data Service Services to create, update, and delete data. WCF B. Preventing Unauthorized Updates and Data Services use standard internet protocols such Improving Performance as HTTP and the Atom Publishing Protocol to enable update access to data across the Internet or a corporate network. MOC 10265 Developing Data Access Solutions with Microsoft Visual Studio 2010 Course Outline (cont’d) C. Using WCF Data Services with • Using ADO.NET to Retrieve Read-Only Nonrelational Data Information Quickly and Perform Simple Data Modifications Lab: Updating Data by Using WCF Data Services • Developing the Product List Web Application • Updating Entities by Using a WCF Data • Enabling Data Modifications Service • Creating and Deleting Entities by Using a After completing this module, students will be WCF Data Service able to: • Restricting Create, Update, and Delete • Retrieve and update data by using Requests ADO.NET commands and stored procedures. After completing this module, students will be • Retrieve and update data by using DataSet able to: objects. • Create, update, and delete entities by using • Implement transactions and handle a WCF Data Service. concurrency exceptions. • Control access to data modification functionality, and improve performance by XV.Using LINQ to SQL batching commands together. ADO.NET provides a mechanism that enables you • Use WCF Data Services to access and to build applications that can query and maintain modify nonrelational data. data that is held in a variety of sources in a database-agnostic manner. However, building XIV.Using ADO.NET applications by using ADO.NET requires that you ADO.NET is a highly flexible framework for building are familiar with the Structured Query Language applications that require access to data held in a (SQL) language and features of the database data source. This module introduces ADO.NET and management system that you are connecting to. explains how you can use it to develop scalable, Language-Integrated Query (LINQ) to SQL provides high-performance, data-driven applications. a higher-level abstraction for managing data that is A. Retrieving and Modifying Data by Using held in a Microsoft SQL Server database, and is an ADO.NET Commands ideal stepping stone for migrating ADO.NET B. Retrieving and Modifying Data by Using applications toward the ADO.NET Entity Framework. DataSets This module introduces LINQ to SQL and explains C. Managing Transactions and Concurrency in how you can use it to abstract the low-level details of Multiuser Scenarios ADO.NET queries by developing against a logical data model. Lab: Using ADO.NET A. Implementing a Logical Data Model by Using LINQ to SQL Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically 10265DEVELOPINGDATAACCESSSOLUTIONSWITHMICROSOFTVISUALSTUDIO2010-110311182356-PHPAPP02.DOC
  • 10. B. 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 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. Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically 10265DEVELOPINGDATAACCESSSOLUTIONSWITHMICROSOFTVISUALSTUDIO2010-110311182356-PHPAPP02.DOC