ADO.NET の新機能
更新 : November 2007
以下の機能は、.NET Framework 3.5 の Service Pack 1 リリースで ADO.NET に新たに追加されたものです。これにはエンティティ フレームワークと、LINQ to DataSet および LINQ to SQL での機能強化が含まれています。.NET Framework Data Provider for SQL Server (SqlClient) は、SQL Server 2008 をサポートするために拡張されました。
SQL Server 2008 の SqlClient サポート
.NET Framework 3.5 Service Pack (SP) 1 以降では、.NET Framework Data Provider for SQL Server (System.Data.SqlClient) が SQL Server 2008 データベース エンジンの新機能すべてをサポートします。SqlClient でこれらの新機能を使用するには、.NET Framework 3.5 SP1 以降をインストールする必要があります。.NET Framework の SQL Server 2008 に対するサポートの詳細については、「SQL Server 2008 の新機能 (ADO.NET)」を参照してください。SQL Server 2008 の新しいデータベース エンジン機能の詳細については、SQL Server 2008 オンライン ブックの「新機能 (SQL Server 2008)」を参照してください。
ADO.NET データ プラットフォーム
このデータ プラットフォームは、概念エンティティ データ モデルに対してプログラムを作成できるようにして、開発者に必要とされるコード作成と保守作業の量を減らすための、複数のリリースにわたる戦略です。.NET Framework 3.5 Service Pack (SP) 1 では、ADO.NET エンティティ フレームワークによって次のデータ プラットフォーム コンポーネントが提供されます。
コンポーネント |
説明 |
---|---|
エンティティ データ モデル (EDM) |
アプリケーション データをエンティティとリレーションシップの集合として定義するデザイン仕様。このモデルのデータは、アプリケーションの境界を越えたオブジェクト リレーショナル マッピングとデータ プログラミング機能をサポートします。 EDM のデータ型とリレーションシップは、概念モデルで定義されます。これは、概念スキーマ定義言語 (CSDL) で記述された XML スキーマです。概念モデルは、アプリケーション データを表現するプログラム可能なクラスを構築するために使用されます。これらのオブジェクトを必要に応じて拡張することによって、さまざまなアプリケーション ニーズを満たすことができます。詳細については、「Entity Data Model」を参照してください。 |
Object Services |
プログラマが一連の共通言語ランタイム (CLR) クラスを介して概念モデルを操作できるようにします。これらのクラスは、概念モデルから自動的に生成することも、概念モデルの構造を反映するように別途開発することもできます。Object Services は、状態の管理、変更の追跡、ID の解決、リレーションシップの読み込みとナビゲート、オブジェクト変更のデータベースへの反映、Entity SQL のクエリ作成サポートなどのサービスを含む、エンティティ フレームワークに対するインフラストラクチャ サポートも提供します。詳細については、「Object Services Overview (Entity Framework)」を参照してください。 |
LINQ to Entities |
LINQ の式と標準クエリ演算子を使用することにより、エンティティ フレームワーク オブジェクト コンテキストに対して厳密に型指定されたクエリを作成できるようにする統合言語クエリ (LINQ) の実装。LINQ to Entities を使用すると、開発者は Microsoft SQL Server とサードパーティ データベース間の非常に柔軟なオブジェクト リレーショナル マッピングを使用して、概念モデルを操作できます。詳細については、「LINQ to Entities」を参照してください。 |
Entity SQL |
エンティティ データ モデルを操作するために設計されたテキスト ベースのクエリ言語。Entity SQL は、継承、複合型、明示的リレーションシップなどの高レベルのモデル概念を使用したクエリ用のコンストラクトを含む SQL 言語の一種です。Entity SQL は、Object Services で直接使用することもできます。詳細については、「Entity SQL Language Reference」を参照してください。 |
EntityClient |
エンティティ データ モデルを操作するために使用する新しい .NET Framework データ プロバイダ。EntityClient は、EntityDataReader を返す EntityConnection および EntityCommand オブジェクトを公開するための .NET Framework データ プロバイダのパターンに従います。EntityClient は Entity SQL 言語と共に使用でき、ストレージ固有のデータ プロバイダに対する柔軟なマッピングを提供します。詳細については、「EntityClient and Entity SQL」を参照してください。 |
ADO.NET Data Services |
ADO.NET Data Services フレームワークは、Web またはイントラネットにデータ サービスを配置するために使用されます。データは、エンティティ データ モデルの仕様に従ってエンティティおよびリレーションシップとして構成されます。このモデルで配置されるデータは、標準 HTTP プロトコルによってアドレス指定可能です。詳細については、「ADO.NET Data Services Framework」を参照してください。 |
エンティティ データ モデル ツール |
エンティティ フレームワークでは、EDM アプリケーションの構築を容易にするためのコマンド ライン ツール、ウィザード、およびデザイナが提供されています。EntityDataSource コントロールでは、EDM に基づくデータ バインドのシナリオがサポートされています。EntityDataSource コントロールのプログラミング サーフェイスは、Visual Studio の他のデータ ソース コントロールに似ています。詳細については、「Entity Data Model Tools」を参照してください。 |
ADO.NET エンティティ フレームワークの詳細については、「Introducing the Entity Framework」を参照してください。
LINQ to DataSet
LINQ to DataSet は、DataSet に格納される非接続型データを対象とした LINQ 機能を実現します。詳細については、「LINQ to DataSet の概要」を参照してください。
LINQ to SQL
LINQ to SQL では、Microsoft SQL Server データベースのデータ構造と対応付けられたオブジェクト モデルに対し、中間概念モデルを使用することなくクエリを実行できます。それぞれのテーブルは独立したクラスで表現され、オブジェクト モデルとデータベース スキーマとが緊密に結び付けられます。LINQ to SQL では、オブジェクト モデルの統合言語クエリが Transact-SQL に変換され、データベースに送信されて実行されます。データベースから結果が返されると、LINQ to SQL によって、その結果が再びオブジェクトへと変換されます。.NET Framework 3.5 SP1 以降では、LINQ to SQL によって Microsoft SQL Server 2008 に導入された新しい SQL データ型がサポートされています。詳細については、「LINQ to SQL」を参照してください。