.NET Framework 클래스 라이브러리
GlobalItem 클래스

업데이트: 2007년 11월

모든 EDM(EDM(Entity Data Model)) 형식과 엔터티 컨테이너의 기본 항목 클래스를 나타냅니다.

네임스페이스:  System.Data.Metadata.Edm
어셈블리:  System.Data.Entity(System.Data.Entity.dll)
구문

Visual Basic(선언)
Public MustInherit Class GlobalItem _
    Inherits MetadataItem
Visual Basic (사용법)
Dim instance As GlobalItem
C#
public abstract class GlobalItem : MetadataItem
Visual C++
public ref class GlobalItem abstract : public MetadataItem
J#
public abstract class GlobalItem extends MetadataItem
JScript
public abstract class GlobalItem extends MetadataItem
설명

자세한 내용은 메타데이터 형식 계층 구조 개요를 참조하십시오.

예제

다음 코드 샘플에서는 연결에서 메타데이터 작업 영역을 가져온 다음 이 메타데이터 작업 영역을 사용하여 메타데이터 형식 계층 구조를 탐색하는 방법을 보여 줍니다. 메타데이터 작업 영역은 메타데이터 검색을 지원하는 런타임 서비스 구성 요소입니다.

코드 샘플에서는 CSpaceSSpace를 사용하여 모델을 지정합니다. CSpace는 개념적 모델의 기본 이름을 나타내고 SSpace는 저장소 모델의 기본 이름을 나타냅니다. 코드 샘플에서는 AdventureWorks 전체 모델(EDM) 항목에서 제공하는 AdventureWorks 모델을 사용합니다. 응용 프로그램 구성 파일의 예를 보려면 AdventureWorks 개체 모델 사용(EDM)을 참조하십시오.

C#
using System;
using System.Data;
using System.Data.EntityClient;
using System.Data.Metadata.Edm;
using System.Collections.ObjectModel;

class BrowseTypes
{
  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();

         // Browse the metadata type hierarchy in the conceptual model.
         BrowseTypesExample(workspace, DataSpace.CSpace);

         // Browse the metadata type hierarchy in the storage model.
         BrowseTypesExample(workspace, DataSpace.SSpace);
      }
    }
    catch (MetadataException exceptionMetadata)
    {
      Console.WriteLine("MetadataException: {0}",
                      exceptionMetadata.Message);
    }
    catch (System.Data.MappingException exceptionMapping)
    {
      Console.WriteLine("MappingException: {0}",
                       exceptionMapping.Message);
    }
  }

  private static void BrowseTypesExample(MetadataWorkspace workspace, 
    DataSpace model)
  {
    // Get a collection of the GlobalItems. 
    // An GlobalItem class is the base class for 
    // the entity data model types and entity containers.
    ReadOnlyCollection<GlobalItem> items = 
         workspace.GetItems<GlobalItem>(model);

    // Iterate through the collection to get each item.
    foreach (GlobalItem item in items)
    {
       EntityContainer entityContainer = item as EntityContainer;
       if (entityContainer != null)
       {
         Console.WriteLine(
            "EntityContainer Name: {0}",
             entityContainer.Name);
                continue;
       }

       EntityType entityType = item as EntityType;
       if (entityType != null)
       {
          Console.WriteLine(
            "EntityType Name: {0}, Namespace: {1}",
             entityType.Name, entityType.NamespaceName);
          continue;
       }

       AssociationType associationType = item as AssociationType;
       if (associationType != null)
       {
          Console.WriteLine(
            "AssociationType Name: {0}, Namespace: {1}",
            associationType.Name, associationType.NamespaceName);
          continue;
        }

        PrimitiveType primType = item as PrimitiveType;
        if (primType != null)
        {
          Console.WriteLine(
            "PrimitiveType Name: {0}, Namespace: {1}", 
            primType.Name, primType.NamespaceName);
            continue;
        }

        EdmFunction function = item as EdmFunction;
        if (function != null)
        {
          Console.WriteLine(
            "Function Name: {0}, Namespace: {1}",
            function.Name, function.NamespaceName);
          continue;
        }
      }
  }
}
Visual Basic
Imports System
Imports System.Collections.ObjectModel
Imports System.Data
Imports System.Data.EntityClient
Imports System.Data.Metadata.Edm

Class BrowseTypes
  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 conection.
        connection.Open()

        ' Access the metadata workspace.
        Dim workspace As MetadataWorkspace = _
           connection.GetMetadataWorkspace

        ' Browse the metadata type hierarchy in the conceptual model.
        BrowseTypesExample(workspace, DataSpace.CSpace)

        ' Browse the metadata type hierarchy in the storage model.
        BrowseTypesExample(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 BrowseTypesExample( _
        ByVal workspace As MetadataWorkspace, _
        ByVal model As DataSpace)
    ' Get a collection of the GlobalItems. 
    ' An GlobalItem class is the base class for 
    ' the entity data model types and entity containers.
    Dim items As ReadOnlyCollection(Of GlobalItem) = _
      workspace.GetItems(Of GlobalItem)(model)

    ' Iterate through the collection to get each item.
    Dim item As GlobalItem
    For Each item In items
     Dim entityContainer As EntityContainer = _
          TryCast(item, EntityContainer)
     If (Not entityContainer Is Nothing) Then
       Console.WriteLine("EntityContainer Name: {0}", _
           entityContainer.Name)
       Continue For
     End If

     Dim entityType As EntityType = TryCast(item, EntityType)
     If (Not entityType Is Nothing) Then
       Console.WriteLine("EntityType Name: {0}, Namespace: {1}", _
                entityType.Name, entityType.NamespaceName)
       Continue For
     End If

     Dim associationType As AssociationType = _
            TryCast(item, AssociationType)
     If (Not associationType Is Nothing) Then
       Console.WriteLine("AssociationType Name: {0}, Namespace: {1}", _
              associationType.Name, associationType.NamespaceName)
       Continue For
     End If

     Dim primType As PrimitiveType = TryCast(item, PrimitiveType)
     If (Not primType Is Nothing) Then
       Console.WriteLine("PrimitiveType Name: {0}, Namespace: {1}", _
               primType.Name, primType.NamespaceName)
       Continue For
      End If

      Dim functionEdm As EdmFunction = TryCast(item, EdmFunction)
        If (Not functionEdm Is Nothing) Then
          Console.WriteLine("EdmFunction Name: {0}, Namespace: {1}", _
               functionEdm.Name, functionEdm.NamespaceName)
          Continue For
        End If
      Next
  End Sub
End Class
상속 계층 구조

System..::.Object
  System.Data.Metadata.Edm..::.MetadataItem
    System.Data.Metadata.Edm..::.GlobalItem
      System.Data.Metadata.Edm..::.EdmType
      System.Data.Metadata.Edm..::.EntityContainer
스레드로부터의 안전성

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.
플랫폼

.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.
버전 정보

.NET Framework

3.5 SP1에서 지원
참고 항목

참조

태그 :


Page view tracker