次の方法で共有


メタデータ型の階層の概要

ADO.NET メタデータ型の階層は、エンティティ フレームワーク の エンティティ データ モデル (EDM) に定義されているのと同じ概念を表す一連の .NET Framework 型を提供します。エンティティ フレームワーク および EDM の詳細については、「ADO.NET Entity Framework」および「Entity Data Model」を参照してください。

メタデータ型階層には、型、メンバ、およびリレーションシップの 3 つの基本概念があります。型は、EDM の基礎となる最上位レベルの構造です。EDM では、型は単純型と構造型に分けられます。メンバは、構造型の内容を定義します。リレーションシップは、構造型から派生したエンティティ型どうしの論理的な関係を提供します。

ADO.NET は、エンティティ フレームワーク のメタデータ サービスを管理するための System.Data.Metadata.Edm 名前空間を提供します。System.Data.Metadata.Edm 名前空間によってサポートされる型の階層を次の図に示します。

ADO.NET メタデータ型の階層

最上位レベルのクラスは MetadataItem です。このクラスは、ADO.NET メタデータ型階層のすべてのクラスの基本クラスです。EdmType クラスは、EDM の型を表すクラスの基本クラスです。StructuralType は、メンバを持つメタデータ型階層のすべての型の基本データ型です。メタデータ型階層の型の詳細については、「型 (メタデータ)」を参照してください。GlobalItem クラスのコード サンプルでは、メタデータ型階層の型を参照する方法を示します。EDM における型の詳細については、「Entity Data Model の型」を参照してください。

既に説明した型に加え、System.Data.Metadata.Edm 名前空間は、エンティティ フレームワーク によって使用されるモデル内の他の重要な概念 (エンティティ コンテナ、エンティティ セット、アソシエーション セット、関数など) を表すためのいくつかのクラスを提供します。

EDM では、エンティティ セットとアソシエーション セットの論理的なグループが、EntityContainer によって表されます。EntitySet は、1 つの型のエンティティの論理コンテナを表します。同様に、AssociationSet は、同じ型のアソシエーションのコンテナを表します。

EntityContainer クラスのコード サンプルでは、エンティティ コンテナとエンティティ セットに関する情報を取得する方法を示しています。EDM でのエンティティ コンテナ、エンティティ セット、およびアソシエーション セットの使用法については、「エンティティ コンテナ (EDM)」、「エンティティ セット (EDM)」、および「アソシエーション セット (EDM)」を参照してください。

それぞれのストレージ プロバイダまたはデータベースは、多くの組み込み関数およびユーザー定義関数を含むことができます。エンティティ フレームワーク は、最もよく使用される組み込み関数が反映された正規の関数を提供します。Entity SQL クエリで正規の関数を使用すると、適切な関数がストレージ プロバイダで呼び出されます。「関数および関数パラメータ (メタデータ)」トピックでは、エンティティ フレームワーク に定義されている正規の関数に関する情報、および基になるストレージ プロバイダに定義されているストア固有の関数に関する情報を取得する方法について説明しています。

参照

概念

メタデータ型の階層
EDM 型の分類