Monday, April 12, 2010

What's New in ADO.NET

The following features are new in ADO.NET with the Service Pack 1 release of the .NET Framework version 3.5. These include the Entity Framework as well as improvements to LINQ to DataSet and LINQ to SQL. The .NET Framework Data Provider for SQL Server (SqlClient) has been enhanced to provide support for SQL Server 2008.

  SqlClient Support for SQL Server 2008
Starting with the .NET Framework version 3.5 Service Pack (SP) 1, the .NET Framework Data Provider for SQL Server (System.Data.SqlClient) provides full support for all the new features of the SQL Server 2008 Database Engine. You must install the .NET Framework 3.5 SP1 (or later) to use these new features with SqlClient. For more information about .NET Framework support for SQL Server 2008, see New Features in SQL Server 2008 (ADO.NET). For more information about new Database Engine features in SQL Server 2008, see What's New (SQL Server 2008) in SQL Server 2008 Books Online.

  ADO.NET Data Platform
The Data Platform is a multi-release strategy to decrease the amount of coding and maintenance required for developers by enabling them to program against conceptual entity data models. In the .NET Framework version 3.5 Service Pack (SP) 1, the ADO.NET Entity Framework provides the following Data Platform components:

Component
 Description

Entity Data Model (EDM)
 A design specification that defines application data as sets of entities and relationships. Data in this model supports object-relational mapping and data programmability across application boundaries.

EDM data types and relationships are defined in an conceptual model. This is an XML schema written in conceptual schema definition language (CSDL). The conceptual model is used to build programmable classes that represent application data. Developers can extend these objects as required to support various application needs. For more information, see Entity Data Model.

Object Services
 Allows programmers to interact with the conceptual model through a set of common language runtime (CLR) classes. These classes can be automatically generated from the conceptual model or can be developed independently to reflect the structure of the conceptual model. Object Services also provides infrastructure support for the Entity Framework, including services such as state management, change tracking, identity resolution, loading and navigating relationships, propagating object changes to database modifications, and query building support for Entity SQL. For more information, see Object Services Overview (Entity Framework)

LINQ to Entities
 A language-integrated query (LINQ) implementation that allows developers to create strongly-typed queries against the Entity Framework object context by using LINQ expressions and LINQ standard query operators. LINQ to Entities allows developers to work against a conceptual model with a very flexible object-relational mapping across Microsoft SQL Server and third-party databases. For more information, see LINQ to Entities.

Entity SQL
 A text-based query language designed to interact with an Entity Data Model. Entity SQL is an SQL dialect that contains constructs for querying in terms of higher-level modeling concepts, such as inheritance, complex types, and explicit relationships. Developers can also use Entity SQL directly with Object Services. For more information, see Entity SQL Language Reference.

EntityClient
 A new .NET Framework data provider used for interacting with an Entity Data Model. EntityClient follows the .NET Framework data provider pattern of exposing EntityConnection and EntityCommand objects that return an EntityDataReader. EntityClient works with the Entity SQL language, providing flexible mapping to storage-specific data providers. For more information, see EntityClient and Entity SQL.


ADO.NET Data Services
 The ADO.NET Data Services framework is used to deploy data services on the Web or on an intranet. The data is structured as entities and relationships according to the specifications of the Entity Data Model. Data deployed on this model is addressable by standard HTTP protocol. For more information, see ADO.NET Data Services Framework.

Entity Data Model Tools
 The Entity Framework provides command-line tools, wizards, and designers to facilitate building EDM applications. The EntityDataSource control supports data binding scenarios based on the EDM. The programming surface of the EntityDataSource control is similar to other data source controls in Visual Studio. For more information, see Entity Data Model Tools.


For more information about the ADO.NET Entity Framework, see Introducing the Entity Framework.

  LINQ to DataSet
LINQ to DataSet provides LINQ capabilities for disconnected data stored in a DataSet. For more information, see LINQ to DataSet Overview.

  LINQ to SQL
LINQ to SQL supports queries against an object model that is mapped to the data structures of a Microsoft SQL Server database without using an intermediate conceptual model. Each table is represented by a separate class, tightly coupling the object model to the database schema. LINQ to SQL translates language-integrated queries in the object model into Transact-SQL and sends them to the database for execution. When the database returns the results, LINQ to SQL translates the results back into objects. Beginning with the .NET Framework version 3.5 SP1, LINQ to SQL supports many of the new SQL data types introduced with Microsoft SQL Server 2008. For more information, see LINQ to SQL.