ComplexType Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente un type complexe dans un modèle conceptuel.
public ref class ComplexType : System::Data::Metadata::Edm::StructuralType
public class ComplexType : System.Data.Metadata.Edm.StructuralType
type ComplexType = class
inherit StructuralType
Public Class ComplexType
Inherits 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).
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);
}
}
}
}
Imports System
Imports System.Collections.ObjectModel
Imports System.Data
Imports System.Data.EntityClient
Imports System.Data.Metadata.Edm
Class GetComplexTypeMembersExample
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=CustomerWComplexAddrEntities")
' Open the connection.
connection.Open()
' Access the metadata workspace.
Dim workspace As MetadataWorkspace = _
connection.GetMetadataWorkspace
' Get properties of complex types.
GetProperties(workspace, DataSpace.CSpace)
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 GetProperties( _
ByVal workspace As MetadataWorkspace, ByVal model As DataSpace)
' Get a collection of complex types.
Dim complexTypes As ReadOnlyCollection(Of ComplexType) = _
workspace.GetItems(Of ComplexType)(model)
' Iterate through the collection to get each complex type.
Dim complexType As ComplexType
For Each complexType In complexTypes
Console.WriteLine( _
ControlChars.Lf & ControlChars.Lf & _
"***ComplexType Name: {0}, Namespace: {1}", _
complexType.Name, complexType.NamespaceName)
Console.WriteLine(ControlChars.Lf & _
"Get the properties of this ComplexType object ==>")
' Iterate through the collection to get each property of the
' current ComplexType object.
Dim property1 As EdmProperty
For Each property1 In complexType.Properties
Console.Write(" Property Name: {0} ", property1.Name)
Console.WriteLine( _
" Property declaring Type: {0}, edmtype: {1}, " + _
"default: {2}, nullable: {3} ", _
New Object() {property1.DeclaringType, _
property1.TypeUsage.EdmType, _
property1.Default, property1.Nullable})
Next
Next
End Sub
End Class
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) |