PropertyKind PropertyKind PropertyKind PropertyKind Enum

Определение

Задает типы атрибутов элемента в концептуальной модели.Specifies the kinds of item attributes in the conceptual model.

public enum class PropertyKind
public enum PropertyKind
type PropertyKind = 
Public Enum PropertyKind
Наследование

Поля

Extended Extended Extended Extended 1

Элемент перечисления, показывающий, что атрибут элемента имеет значение Extended.An enumeration member indicating that an item attribute is Extended.

System System System System 0

Элемент перечисления, показывающий, что атрибут элемента имеет значение System.An enumeration member indicating that an item attribute is System.

Примеры

В следующем образце кода показано, как из соединения вернуть рабочую область метаданных, а затем с ее помощью получить сведения о расширенных свойствах указанной модели данных.The following code sample demonstrates how to get a metadata workspace from the connection and then use that metadata workspace to retrieve information about the extended properties in the specified data model. Обратите внимание, что рабочая область метаданных — это служебный компонент времени выполнения, который обеспечивает поддержку извлечения метаданных.Note that the metadata workspace is a runtime service component that provides support for retrieving metadata.

В образце кода для указания модели используется элемент CSpace.The code sample uses a CSpace to specify the model. Элемент CSpace представляет собой имя по умолчанию для концептуальной модели.The CSpace represents the default name for the conceptual model. В образце кода используется модель AdventureWorks, приведенная в модели AdventureWorks (модель EDM) раздела.The code sample uses the AdventureWorks Model that is provided in the AdventureWorks Model (EDM) topic. Пример файла конфигурации приложения, см. в разделе объектной модели AdventureWorks в приложениях (модель EDM).For an example of the application config file, see AdventureWorks Object Model in Applications (EDM).

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));  
     }  
   }  
}  

Комментарии

Дополнительные сведения см. в разделе расширенных свойств (CSDL).For more information, see Extended Property (CSDL).

Применяется к