Lire en anglais

Partager via


ComplexType Classe

Définition

Représente un type complexe dans un modèle conceptuel.

C#
public class ComplexType : System.Data.Metadata.Edm.StructuralType
Héritage

Exemples

L’exemple de code suivant obtient un espace de travail de métadonnées à partir de la connexion et utilise cet espace de travail de métadonnées pour récupérer des informations sur les propriétés des types complexes dans le modèle spécifié. Notez que l'espace de travail des métadonnées est un composant de service du runtime qui fournit une prise en charge de la récupération des métadonnées.

L'exemple de code utilise un CSpace pour spécifier le modèle. CSpace représente le nom par défaut du modèle conceptuel. L’exemple de code utilise le modèle CustomerComplexAddr fourni dans la rubrique How to : Define a Model with Complex Types (Entity Framework).

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

class GetComplexTypeMembersExample  
{  
  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=CustomerWComplexAddrEntities"))  
      {  
         // Open the connection.  
         connection.Open();  

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

         // Get properties of complex types.  
         GetProperties(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 GetProperties(MetadataWorkspace workspace,   
      DataSpace model)  
  {  
    // Get a collection of complex types.  
    ReadOnlyCollection<ComplexType> complexTypes =  
       workspace.GetItems<ComplexType>(model);  

    // Iterate through the collection to get each complex type.  
    foreach (ComplexType complexType in complexTypes)  
    {  
       Console.WriteLine(  
         "\n\n***ComplexType Name: {0}, Namespace: {1}",  
         complexType.Name,  
         complexType.NamespaceName);  

       Console.WriteLine(  
          "\nGet the properties of this " +  
          "ComplexType object ==>");  
          // Iterate through the collection to get each property of the   
          // current ComplexType object.  
          foreach (EdmProperty property in complexType.Properties)  
          {  
            Console.Write("   Property Name: {0} ", property.Name);  

            Console.WriteLine(  
               "   Property declaring Type: {0}, edmtype: {1}," +  
               " default: {2}, nullable: {3} ",  
               property.DeclaringType, property.TypeUsage.EdmType,  
               property.Default, property.Nullable);  
          }  
      }  
  }  
}  

Remarques

Dans ComplexType un modèle conceptuel, le représente un type qui inclut un ensemble de propriétés comme un type d’entité, mais qui n’inclut pas de propriété de clé. Pour plus d’informations sur les types complexes dans un modèle conceptuel, consultez Type complexe et Guide pratique pour définir un modèle avec des types complexes (Entity Framework).

Propriétés

Abstract

Obtient une valeur indiquant si ce type est, ou non, abstrait.

(Hérité de EdmType)
BaseType

Obtient le type de base de ce type.

(Hérité de EdmType)
BuiltInTypeKind

Obtient le type intégré de cet objet ComplexType.

Documentation

Obtient ou définit la documentation associée à ce type.

(Hérité de MetadataItem)
FullName

Obtient le nom complet de ce type.

(Hérité de EdmType)
Members

Obtient la liste des membres sur ce type.

(Hérité de StructuralType)
MetadataProperties

Obtient la liste des propriétés du type en cours.

(Hérité de MetadataItem)
Name

Obtient le nom de ce type.

(Hérité de EdmType)
NamespaceName

Obtient l'espace de noms de ce type.

(Hérité de EdmType)
Properties

Obtient la liste des propriétés de cet objet ComplexType.

Méthodes

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetCollectionType()

Retourne une instance de l'objet CollectionType dont le type d'élément est ce type.

(Hérité de EdmType)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne le nom complet de ce type.

(Hérité de EdmType)

S’applique à

Produit Versions
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1