EntityReference<TEntity> Clase

Definición

Representa un extremo relacionado de una asociación con una multiplicidad de cero o uno.Represents a related end of an association with a multiplicity of zero or one.

generic <typename TEntity>
 where TEntity : class, IEntityWithRelationshipspublic ref class EntityReference sealed : System::Data::Objects::DataClasses::EntityReference
generic <typename TEntity>
 where TEntity : classpublic ref class EntityReference sealed : System::Data::Objects::DataClasses::EntityReference
[System.Runtime.Serialization.DataContract]
[System.Serializable]
public sealed class EntityReference<TEntity> : System.Data.Objects.DataClasses.EntityReference where TEntity : class, IEntityWithRelationships
[System.Runtime.Serialization.DataContract]
[System.Serializable]
public sealed class EntityReference<TEntity> : System.Data.Objects.DataClasses.EntityReference where TEntity : class
type EntityReference<'Entity (requires 'Entity : null and 'Entity :> IEntityWithRelationships)> = class
    inherit EntityReference
type EntityReference<'Entity (requires 'Entity : null)> = class
    inherit EntityReference
Public NotInheritable Class EntityReference(Of TEntity)
Inherits EntityReference

Parámetros de tipo

TEntity

Tipo de entidad de la referencia.The entity type of the reference.

Herencia
EntityReference<TEntity>
Atributos

Ejemplos

En este ejemplo se muestra cómo utilizar el objeto EntityReference<TEntity> para cambiar una relación entre un objeto SalesOrderHeader y un objeto Address relacionado que representa la dirección de envío del pedido.This example shows how to use the EntityReference<TEntity> object to change a relationship between a SalesOrderHeader object and a related Address object that represents the shipping address for the order.


// Define the order and new address IDs.
int orderId = 43669;
int addressId = 26;

using (AdventureWorksEntities context
    = new AdventureWorksEntities())
{
    // Get the billing address to change to.
    Address address =
        context.Addresses.Single(c => c.AddressID == addressId);

    // Get the order being changed.
    SalesOrderHeader order =
        context.SalesOrderHeaders.Single(o => o.SalesOrderID == orderId);

    // You do not have to call the Load method to load the addresses for the order,
    // because  lazy loading is set to true 
    // by the constructor of the AdventureWorksEntities object. 
    // With  lazy loading set to true the related objects are loaded when
    // you access the navigation property. In this case Address.

    // Write the current billing street address.
    Console.WriteLine("Current street: "
        + order.Address.AddressLine1);

    // Change the billing address.
    if (!order.Address.Equals(address))
    {
        // Use Address navigation property to change the association.
        order.Address = address;

        // Write the changed billing street address.
        Console.WriteLine("Changed street: "
            + order.Address.AddressLine1);
    }

    // If the address change succeeds, save the changes.
    context.SaveChanges();

    // Write the current billing street address.
    Console.WriteLine("Current street: "
        + order.Address.AddressLine1);
}

' Define the order and new address IDs. 
Dim orderId As Integer = 43669
Dim addressId As Integer = 26

Using context As New AdventureWorksEntities()
    ' Get the billing address to change to. 
    Dim address As Address = context.Addresses.Single(Function(c) c.AddressID = addressId)

    ' Get the order being changed. 
    Dim order As SalesOrderHeader = context.SalesOrderHeaders.Single(Function(o) o.SalesOrderID = orderId)

    ' You do not have to call the Load method to load the addresses for the order, 
    ' because lazy loading is set to true 
    ' by the constructor of the AdventureWorksEntities object. 
    ' With lazy loading set to true the related objects are loaded when 
    ' you access the navigation property. In this case Address. 

    ' Write the current billing street address. 
    Console.WriteLine("Current street: " & order.Address.AddressLine1)

    ' Change the billing address. 
    If Not order.Address.Equals(address) Then
        ' Use Address navigation property to change the association. 
        order.Address = address

        ' Write the changed billing street address. 
        Console.WriteLine("Changed street: " & order.Address.AddressLine1)
    End If

    ' If the address change succeeds, save the changes. 
    context.SaveChanges()

    ' Write the current billing street address. 
    Console.WriteLine("Current street: " & order.Address.AddressLine1)
End Using

Comentarios

Una propiedad de navegación devuelve un objeto EntityReference<TEntity> cuando el extremo relacionado tiene una multiplicidad de cero o uno.An EntityReference<TEntity> object is returned by a navigation property when the related end has a multiplicity of zero or one. Para obtener más información, vea elemento NavigationProperty (CSDL).For more information, see NavigationProperty Element (CSDL).

Un objeto EntityReference<TEntity> puede tener su correspondiente EntityCollection<TEntity> (relación de uno a varios) o EntityReference<TEntity> (relación de uno a uno) en el otro extremo de la relación.An EntityReference<TEntity> object might have a corresponding EntityCollection<TEntity> (one-to-many relationship) or EntityReference<TEntity> (one-to-one relationship) at the other end of the relationship. Cuando un modelo EntityReference<TEntity> y un modelo EntityCollection<TEntity> son extremos opuestos de la misma relación, la integridad de la relación se mantiene en el nivel de objeto.When an EntityReference<TEntity> and an EntityCollection<TEntity> model opposing ends of the same relationship, the integrity of the relationship is maintained at the object level.

No se puede heredar esta clase.This class cannot be inherited.

Constructores

EntityReference<TEntity>()

Crea una nueva instancia de EntityReference<TEntity>.Creates a new instance of EntityReference<TEntity>.

Propiedades

EntityKey

Devuelve la clave del objeto relacionado.Returns the key for the related object.

(Heredado de EntityReference)
IsLoaded

Obtiene un valor que indica si se han cargado todos los objetos relacionados.Gets a value that indicates whether all related objects have been loaded.

(Heredado de RelatedEnd)
RelationshipName

Obtiene el nombre de la relación en la que participa este punto de conexión relacionado.Gets the name of the relationship in which this related end participates.

(Heredado de RelatedEnd)
RelationshipSet

Obtiene una referencia a los metadatos para el extremo relacionado.Gets a reference to the metadata for the related end.

(Heredado de RelatedEnd)
SourceRoleName

Obtiene el nombre del rol en el extremo de origen de la relación.Gets the role name at the source end of the relationship.

(Heredado de RelatedEnd)
TargetRoleName

Obtiene el nombre del rol en el extremo de destino de la relación.Gets the role name at the target end of the relationship.

(Heredado de RelatedEnd)
Value

Obtiene o establece el objeto relacionado devuelto por esta EntityReference<TEntity>.Gets or sets the related object returned by this EntityReference<TEntity>.

Métodos

Attach(TEntity)

Crea una relación de varios a uno o de uno a uno entre dos objetos en el contexto del objeto.Creates a many-to-one or one-to-one relationship between two objects in the object context.

Attach<TEntity>(IEnumerable<TEntity>, Boolean)

Define una relación entre dos objetos asociados.Defines a relationship between two attached objects.

(Heredado de RelatedEnd)
CreateSourceQuery()

Crea una consulta de objeto equivalente que devuelve el objeto relacionado.Creates an equivalent object query that returns the related object.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
GetEnumerator()

Devuelve una interfaz IEnumerator que itera por la colección de objetos relacionados.Returns an IEnumerator that iterates through the collection of related objects.

(Heredado de RelatedEnd)
GetHashCode()

Sirve como función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
Load()

Cuando se reemplaza en una clase derivada, carga el objeto u objetos relacionados en el extremo relacionado con la opción de combinación predeterminada.When overridden in a derived class, loads the related object or objects into the related end with the default merge option.

(Heredado de RelatedEnd)
Load(MergeOption)

Carga el objeto relacionado para esta EntityReference<TEntity> con la opción de fusión mediante combinación especificada.Loads the related object for this EntityReference<TEntity> with the specified merge option.

MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
Merge<TEntity>(IEnumerable<TEntity>, MergeOption, Boolean)

Combina entidades relacionadas en el objeto EntityCollection<TEntity> local.Merges related entities into the local EntityCollection<TEntity>.

(Heredado de RelatedEnd)
OnDeserialized(StreamingContext)

Se usa internamente para deserializar los objetos entidad junto con las instancias de RelationshipManager.Used internally to deserialize entity objects along with the RelationshipManager instances.

(Heredado de RelatedEnd)
OnRefDeserialized(StreamingContext)

Este método se usa internamente para serializar los objetos entidad relacionados.This method is used internally to serialize related entity objects.

OnSerializing(StreamingContext)

Este método se usa internamente para serializar los objetos entidad relacionados.This method is used internally to serialize related entity objects.

ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)
ValidateEntityForAttach<TEntity>(TEntity, Int32, Boolean)

Determina si se puede asociar un objeto a la colección o la referencia local.Determines whether an object can be attached to the local collection or reference.

(Heredado de RelatedEnd)
ValidateLoad<TEntity>(MergeOption, String)

Garantiza que el objeto u objetos relacionados se puedan cargar correctamente en la colección o la referencia local.Ensures that the related object or objects can be successfully loaded into the local collection or reference.

(Heredado de RelatedEnd)
ValidateOwnerForAttach()

Garantiza que el objeto al que pertenece el extremo relacionado admite una operación de adjuntar.Ensures that the object to which the related end belongs supports an attach operation.

(Heredado de RelatedEnd)

Eventos

AssociationChanged

Se produce cuando se realiza un cambio en un extremo relacionado.Occurs when a change is made to a related end.

(Heredado de RelatedEnd)

Implementaciones de interfaz explícitas

IRelatedEnd.Add(IEntityWithRelationships)

Agrega un objeto al extremo relacionado.Adds an object to the related end.

(Heredado de RelatedEnd)
IRelatedEnd.Add(Object)

Agrega un objeto al extremo relacionado.Adds an object to the related end.

(Heredado de RelatedEnd)
IRelatedEnd.Attach(IEntityWithRelationships)

Adjunta un objeto en el extremo relacionado.Attaches an object at the related end.

(Heredado de RelatedEnd)
IRelatedEnd.Attach(Object)

Adjunta un objeto al extremo relacionado.Attaches an object to the related end.

(Heredado de RelatedEnd)
IRelatedEnd.CreateSourceQuery()

Devuelve una IEnumerable que representa los objetos que pertenecen al extremo relacionado.Returns an IEnumerable that represents the objects that belong to the related end.

(Heredado de RelatedEnd)
IRelatedEnd.Remove(IEntityWithRelationships)

Quita un objeto de la colección en el extremo relacionado.Removes an object from the collection at the related end.

(Heredado de RelatedEnd)
IRelatedEnd.Remove(Object)

Quita un objeto del extremo relacionado si el objeto forma parte del extremo relacionado.Removes an object from the related end if the object is part of the related end.

(Heredado de RelatedEnd)

Se aplica a