EntityContainer クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
概念モデルのエンティティ コンテナーを表します。 EntityContainerは、エンティティ セットとアソシエーション セットの論理グループです。
public ref class EntityContainer sealed : System::Data::Metadata::Edm::GlobalItem
public sealed class EntityContainer : System.Data.Metadata.Edm.GlobalItem
type EntityContainer = class
inherit GlobalItem
Public NotInheritable Class EntityContainer
Inherits GlobalItem
- 継承
例
次のコード サンプルは、接続からメタデータ ワークスペースを取得し、そのメタデータ ワークスペースを使用して、指定されたデータ モデル内のエンティティ コンテナーに関する情報を取得する方法を示しています。 メタデータ ワークスペースは、メタデータの取得をサポートするランタイム サービス コンポーネントであることに注意してください。
このコード サンプルでは、 CSpace と SSpace を使用してモデルを指定します。 CSpaceは、概念モデルの既定の名前を表します。 SSpaceは、ストレージ モデルの既定の名前を表します。
GetEntityContainers メソッドは、エンティティ コンテナーのコレクションを取得し、コレクションを反復処理して、指定されたコンテナー内の各エンティティ セットと関連付けセットを取得します。 このコード サンプルでは 、AdventureWorks モデルを使用します。
using System;
using System.Data;
using System.Data.EntityClient;
using System.Data.Metadata.Edm;
using System.Collections.ObjectModel;
class GetEntityContainerExample
{
static void Main()
{
try
{
// Establish a connection to the underlying data provider by
// using the connection string specified in the config file.
using (EntityConnection connection =
new EntityConnection("Name=AdventureWorksEntities"))
{
// Open the connection.
connection.Open();
// Access the metadata workspace.
MetadataWorkspace workspace =
connection.GetMetadataWorkspace();
// Get the entity containers in the conceptual model.
GetEntityContainers(workspace, DataSpace.CSpace);
// Get the entity containers in the storage model.
GetEntityContainers(workspace, DataSpace.SSpace);
}
}
catch (MetadataException exceptionMetadata)
{
Console.WriteLine("MetadataException: {0}",
exceptionMetadata.Message);
}
catch (System.Data.MappingException exceptionMapping)
{
Console.WriteLine("MappingException: {0}",
exceptionMapping.Message);
}
}
public static void GetEntityContainers(
MetadataWorkspace workspace, DataSpace model)
{
// Get a collection of the entity containers.
ReadOnlyCollection<EntityContainer> containers =
workspace.GetItems<EntityContainer>(model);
// Iterate through the collection to get each entity container.
foreach (EntityContainer container in containers)
{
Console.WriteLine("EntityContainer Name: {0} ",
container.Name);
// EntitySetBase is a super type for
// EntitySets and RelationshipSets.
// Iterate through the collection to get each EntitySetBase.
foreach (EntitySetBase baseSet in container.BaseEntitySets)
{
// Check if this instance is an EntitySet.
if (baseSet is EntitySet)
{
Console.WriteLine(
" EntitySet Name: {0} , EntityType Name: {1} ",
baseSet.Name, baseSet.ElementType.FullName);
}
// RelationshipSet is a super type for AssociationSet.
// Check if this instance is an AssociationSet.
if (baseSet is AssociationSet)
{
Console.WriteLine(
" AssociationSet Name: {0} , " +
"AssociationType Name: {1} ",
baseSet.Name, baseSet.ElementType.FullName);
// Get the AssociationSet.
AssociationSet associationSet =
baseSet as AssociationSet;
// Iterate through the collection to get
// each AssociatedSetEnd.
foreach (AssociationSetEnd end in
associationSet.AssociationSetEnds)
{
Console.WriteLine(
" EntitySet Name: {0} , Name: {1} ",
end.EntitySet, end.Name);
}
}
}
}
}
}
Imports System
Imports System.Collections.ObjectModel
Imports System.Data
Imports System.Data.EntityClient
Imports System.Data.Metadata.Edm
Class GetEntityContainerExample
Public Shared Sub Main()
Try
' Establish a connection to the underlying data provider by
' using the connection string specified in the config file.
Using connection As EntityConnection = _
New EntityConnection("Name=AdventureWorksEntities")
' Open the connection.
connection.Open()
' Access the metadata workspace.
Dim workspace As MetadataWorkspace = _
connection.GetMetadataWorkspace
' Get the entity containers in the conceptual model.
GetEntityContainers(workspace, DataSpace.CSpace)
' Get the entity containers in the storage model.
GetEntityContainers(workspace, DataSpace.SSpace)
End Using
Catch exceptionMetadata As MetadataException
Console.WriteLine("MetadataException: {0}", _
exceptionMetadata.Message)
Catch exceptionMapping As MappingException
Console.WriteLine("MappingException: {0}", _
exceptionMapping.Message)
End Try
End Sub
Public Shared Sub GetEntityContainers( _
ByVal workspace As MetadataWorkspace, ByVal model As DataSpace)
' Get a collection of the entity containers.
Dim containers As ReadOnlyCollection(Of EntityContainer) = _
workspace.GetItems(Of EntityContainer)(model)
' Iterate through the collection to get each entity container.
Dim container As EntityContainer
For Each container In containers
Console.WriteLine("EntityContainer Name: {0} ", container.Name)
' EntitySetBase is a super type for
' EntitySets and RelationshipSets.
' Iterate through the collection to get each EntitySetBase.
Dim baseSet As EntitySetBase
For Each baseSet In container.BaseEntitySets
' Check if this instance is an EntitySet.
If TypeOf baseSet Is EntitySet Then
Console.WriteLine( _
" EntitySet Name: {0} , EntityType Name: {1} ", _
baseSet.Name, baseSet.ElementType.FullName)
End If
' RelationshipSet is a super type for AssociationSet.
' Check if this instance is an AssociationSet.
If TypeOf baseSet Is AssociationSet Then
Console.WriteLine( _
" AssociationSet Name: {0} , " + _
"AssociationType Name: {1} ", _
baseSet.Name, baseSet.ElementType.FullName)
' Get the AssociationSet.
Dim associationSet As AssociationSet = _
TryCast(baseSet, AssociationSet)
' Iterate through the collection to get
' each AssociatedSetEnd.
Dim endMember As AssociationSetEnd
For Each endMember In associationSet.AssociationSetEnds
Console.WriteLine( _
" EntitySet Name: {0} , Name: {1} ", _
endMember.EntitySet, endMember.Name)
Next
End If
Next
Next
End Sub
End Class
注釈
概念レベルでは、 EntityContainer クラスは、ストレージ メタデータ スキーマ内のデータベース オブジェクトにマップされるコンテナーを表します。 ストレージ レベルでは、 EntityContainer クラスは、モデル上に構築されたアプリケーションのデータを保持するテーブルやキーリレーションシップの説明を表します。 概念モデルのエンティティ コンテナーの詳細については、「 エンティティ コンテナー」を参照してください。
プロパティ
| 名前 | 説明 |
|---|---|
| BaseEntitySets |
この EntityContainer に含まれるエンティティ セットと関連付けセットの一覧を取得します。 |
| BuiltInTypeKind |
この EntityContainerの組み込み型の種類を取得します。 |
| Documentation |
この型に関連付けられているドキュメントを取得または設定します。 (継承元 MetadataItem) |
| FunctionImports |
EdmFunction要素のコレクションを指定します。 各関数には、データベースに存在するストアド プロシージャの詳細、またはエンティティとそのプロパティにマップされている同等の |
| MetadataProperties |
現在の型のプロパティの一覧を取得します。 (継承元 MetadataItem) |
| Name |
この EntityContainerの名前を取得します。 |
メソッド
| 名前 | 説明 |
|---|---|
| Equals(Object) |
指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
| GetEntitySetByName(String, Boolean) |
エンティティ セットの指定した名前を使用して、 EntitySet オブジェクトを返します。 |
| GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
| GetRelationshipSetByName(String, Boolean) |
リレーションシップ セットの指定した名前を使用して、 RelationshipSet オブジェクトを返します。 |
| GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
| MemberwiseClone() |
現在の Objectの簡易コピーを作成します。 (継承元 Object) |
| ToString() |
この EntityContainerの名前を返します。 |
| TryGetEntitySetByName(String, Boolean, EntitySet) |
エンティティ セットの指定した名前を使用して、 EntitySet オブジェクトを返します。 |
| TryGetRelationshipSetByName(String, Boolean, RelationshipSet) |
リレーションシップ セットの指定した名前を使用して、 RelationshipSet オブジェクトを返します。 |