ComplexType Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa un tipo complejo en un modelo conceptual.
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
- Herencia
Ejemplos
El ejemplo de código siguiente obtiene un área de trabajo de metadatos de la conexión y usa ese área de trabajo de metadatos para recuperar información sobre las propiedades de los tipos complejos del modelo especificado. Observe que el área de trabajo de metadatos es un componente del servicio en tiempo de ejecución que proporciona compatibilidad para recuperar los metadatos.
El ejemplo de código usa un CSpace para especificar el modelo. CSpace representa el nombre predeterminado del modelo conceptual. El ejemplo de código usa el modelo CustomerComplexAddr que se proporciona en el tema 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
Comentarios
En ComplexType un modelo conceptual representa un tipo que incluye un conjunto de propiedades como un tipo de entidad, pero no incluye una propiedad de clave. Para obtener más información sobre los tipos complejos de un modelo conceptual, vea Tipo complejo y Cómo: Definir un modelo con tipos complejos (Entity Framework).
Propiedades
Abstract |
Obtiene un valor que indica si el este tipo es abstracto o no. (Heredado de EdmType) |
BaseType |
Obtiene el tipo base de este tipo. (Heredado de EdmType) |
BuiltInTypeKind |
Obtiene la modalidad del tipo integrado para ComplexType. |
Documentation |
Obtiene o establece la documentación asociada a este tipo. (Heredado de MetadataItem) |
FullName |
Obtiene el nombre completo de este tipo. (Heredado de EdmType) |
Members |
Obtiene la lista de miembros de este tipo. (Heredado de StructuralType) |
MetadataProperties |
Obtiene la lista de propiedades del tipo actual. (Heredado de MetadataItem) |
Name |
Obtiene el nombre de este tipo. (Heredado de EdmType) |
NamespaceName |
Obtiene el espacio de nombres de este tipo. (Heredado de EdmType) |
Properties |
Obtiene la lista de propiedades de ComplexType. |
Métodos
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetCollectionType() |
Devuelve una instancia del CollectionType cuyo tipo de elementos es este. (Heredado de EdmType) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
ToString() |
Devuelve el nombre completo de este tipo. (Heredado de EdmType) |