Microsoft .NET Framework 4, Data Access

מק"ט: #10265 | משך קורס: 40 שעות אק'

This course teaches how to design and develop data access in your applications. The course discusses how to choose which data access technology is appropriate for your business and application needs and then teaches you how to use the key technologies, including the ADO.NET Entity Framework, Language-Integrated Query (LINQ), Windows Communication Foundation (WCF) Data Services, Microsoft Sync Framework, and ADO.NET.

*שדות חובה
PDF version

קהל יעד

This course is intended for professional .NET software developers who use Microsoft Visual Studio in a team-based, medium-sized to large development environment. Audience members are expected to have experience of implementing data access and data binding within their Web or Windows Client applications and are interested in learning to optimize data access within their applications by using the Entity Framework, LINQ, and ADO.NET. Audience members should be experienced users of Visual Studio 2008 Service Pack 1 (SP1) or newer releases of the Visual Studio product. They should also have some experience of using Visual Studio 2010 for either Windows Client or Web application development.


  • An understanding of the problem-solving techniques that apply to software development, including modern software development models, the software development life cycle, the concepts of event-driven and object-oriented programming, creating use-case diagrams, designing and building a user interface, and developing a structured application
  • A basic understanding of Web, macro, and Windows scripting techniques and some hands-on experience of writing scripts
  • A general understanding of the purpose, function, and features of the common language runtime (CLR), the Microsoft .NET Framework class libraries, the common type system, component interoperation, cross-language interoperation, application domains, and runtime hosts that the .NET Framework supports
  • Experience with Visual Studio 2008 basic development, including the use of variables, operators, branching and looping statements; create and use classes, methods, and events; identify syntax and logic errors; and access data from a data source
  • Experience in object-oriented design and development including 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; and creating components and class libraries
  • Experience in n-tier application design and development, including 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 by using LINQ; implementing basic security best practices in .NET applications, implementing basic service calls; using .NET configuration files; and deploying .NET Framework applications by using ClickOnce and the Microsoft Installer
  • Data access experience in Windows Client application development, including connecting to data source, implementing data binding, and implementing data validation at the user interface layer
  • Data access experience in Web application development, including connecting to a data source, implementing dynamic data, and implementing data validation at the user interface layer

תנאי קדם

  • Evaluate business cases and select an appropriate combination of data access technologies and tools for each case
  • Use the tools that the Entity Framework provides to map the conceptual model that the business logic of an application uses to the logical data model that the database provides
  • Query an Entity Model (EDM) by using common methods such as LINQ to Entities, Entity SQL, and the classes in the EntityClient namespace
  • Perform data modification tasks through an EDM by using LINQ to Entities, Entity SQL, and the classes in the EntityClient namespace
  • Describe the optimistic concurrency model in the Entity Framework and manage transactions in Entity Framework applications
  • Describe the 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 plain-old CLR object (POCO) business classes in a data access layer that is built by using the Entity Framework
  • Address the architectural issues that can arise when you build 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 has limited availability in client applications
  • Design, develop, and consume a simple data service
  • Use WCF Data Services to update and delete data and handle multi-user concerns
  • Develop high-performance, scalable ADO.NET applications that can query and update data
  • Use LINQ to SQL to develop against a logical model that abstracts the low-level details of querying ADO.NET tables and result sets

משך הקורס

משך הקורס הינו 40 שעות


Module 1: Architecture and Data Access Technologies

  • Data Access Technologies
  • Data Access Scenarios


Module 2: Building Entity Data Models

  • Introduces to Entity Data Models
  • Modifying an Entity Data Model
  • Customizing an Entity Data Model


Module 3: Querying Entity Data

  • Retrieving Data by Using LINQ to Entities
  • Retrieving Data by Using Entity SQL
  • Retrieving Data by Using the EntityClient Provider
  • Retrieving Data by Using Stored Procedures
  • Unit Testing Your Data Access Code


Module 4: Creating, Updating, and Deleting Entity Data

  • Understanding Change Tracking in the Entity Framework
  • Modifying Data in a Entity Data Model


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

  • Handling Concurrency in the Entity Framework
  • Transactional Support in the Entity Framework


Module 6: Building Optimized Solutions by Using Object Services

  • The Stages of Query Execution
  • Change Tracking and Object Materialization
  • Using Compiled Queries
  • Using Design-Time Generated Entity Framework Views
  • Monitoring Performance
  • Performing Asynchronous Data Modifications


Module 7: Customizing Entities and Building Custom Entity Classes

  • Overriding Generated Classes
  • Using Templates to Customize Entities
  • Creating and Using Custom Entity Classes


Module 8: Using POCO Classes with the Entity Framework

  • Requirements for POCO Classes
  • POCO Classes and Lazy Loading
  • POCO Classes and Change Tracking
  • Extending Entity Types


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

  • Designing an N-Tier Solution
  • Defining Operations and Implementing Data Transport Structures
  • Protecting Data and Operations


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

  • Tracking Entities and Persisting Changes
  • Managing Exceptions in an N-Tier Solution


Module 11: Building Occasionally Connected Solutions

  • Offline Data Caching by Using XML
  • Using the Sync Framework


Module 12: Querying data by Using WCF Data Services

  • Introducing WCF Data Services
  • Creating a WCF Data Service
  • Consuming a WCF Data Service
  • Protecting Data and Operations in a WCF Data Service


Module 13:  Updating Data by Using WCF Data Services

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


Module 14: Using ADO.NET

  • Retrieving and Modifying Data by Using ADO.NET Commands
  • Retrieving and Modifying Data by Using DataSets
  • Managing Transactions and Concurrency in Multi User Scenarios


Module 15: Using LINQ to SQL

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