Freigeben über


PropertyKind Enumeration

Definition

Gibt die Arten der Elementattribute im konzeptionellen Modell an.

public enum class PropertyKind
public enum PropertyKind
type PropertyKind = 
Public Enum PropertyKind
Vererbung
PropertyKind

Felder

Extended 1

Ein Enumerationsmember, der angibt, dass ein Elementattribute ist Extended.

System 0

Ein Enumerationsmember, der angibt, dass ein Elementattribute ist System.

Beispiele

Im folgenden Codebeispiel wird dargestellt, wie von der Verbindung ein Metadaten-Arbeitsbereich abgerufen und verwendet wird, um Informationen über die erweiterten Eigenschaften im angegebenen Datenmodell abzurufen. Beachten Sie, dass es sich beim Metadaten-Arbeitsbereich um eine Laufzeitdienstkomponente handelt, die Unterstützung für das Abrufen von Metadaten bereitstellt.

Im Codebeispiel wird CSpace verwendet, um das Modell anzugeben. CSpace stellt den Standardnamen für das konzeptionelle Modell dar. Im Codebeispiel wird das AdventureWorks-Modell verwendet.

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

class UsePropertyKindExample  
{  
   static void Main(string[] args)  
   {  
     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=AdventureworksContext"))  
       {  
          // Open the connection.  
          connection.Open();  

          // Access the metadata workspace.  
          MetadataWorkspace workspace =   
             connection.GetMetadataWorkspace();  

          // Display the extended properties in the conceptual model.  
          DisplayProperties(workspace, DataSpace.CSpace);  
       }  
     }  
     catch (MetadataException exceptionMetadata)  
     {  
         Console.WriteLine("MetadataException: {0}",  
                         exceptionMetadata.Message);  
     }  
     catch (System.Data.MappingException exceptionMapping)  
     {  
         Console.WriteLine("MappingException: {0}",  
                          exceptionMapping.Message);  
     }  
   }  

   public static void DisplayProperties(  
        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)  
      {  
          // Display the extended properties for the entity container.  
          DisplayExtendedProperties(container);  

          // Iterate through the collection to get each entity set.  
          foreach (EntitySetBase baseSet in container.BaseEntitySets)  
          {  
              // Check whether this instance is an EntitySet.  
              if (baseSet is EntitySet)  
              {  
                 // Display the extended properties for the entity set.  
                 DisplayExtendedProperties(baseSet);  
              }  
          }  
      }  

      // Get a collection of the entity types.  
      ReadOnlyCollection<EntityType> entities =   
             workspace.GetItems<EntityType>(model);  

      // Iterate through the collection to get each entity type.  
      foreach (EntityType entity in entities)  
      {  
         // Display the extended properties for the entity type.  
         DisplayExtendedProperties(entity);  
      }  
   }  

   private static void DisplayExtendedProperties(MetadataItem item)  
   {  
     foreach (MetadataProperty property in item.MetadataProperties)  
     {  
         if (property.PropertyKind == PropertyKind.Extended)  
           Console.WriteLine(string.Format("\t{0}\t{1}\t{2}",   
             item.GetType().Name, property.Name, property.Value));  
     }  
   }  
}  

Gilt für: