Compartir vía


EntityReference<TEntity> Clase

Definición

Representa un extremo relacionado de una asociación con una multiplicidad de cero o uno.

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
[<System.Runtime.Serialization.DataContract>]
[<System.Serializable>]
type EntityReference<'Entity (requires 'Entity : null and 'Entity :> IEntityWithRelationships)> = class
    inherit EntityReference
[<System.Runtime.Serialization.DataContract>]
[<System.Serializable>]
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.

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.


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

Comentarios

Una propiedad de navegación devuelve un objeto EntityReference<TEntity> cuando el extremo relacionado tiene una multiplicidad de cero o uno. Para obtener más información, vea 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. 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.

Esta clase no puede heredarse.

Constructores

EntityReference<TEntity>()

Crea una nueva instancia de EntityReference<TEntity>.

Propiedades

EntityKey

Devuelve la clave del objeto relacionado.

(Heredado de EntityReference)
IsLoaded

Obtiene un valor que indica si se han cargado todos los objetos relacionados.

(Heredado de RelatedEnd)
RelationshipName

Obtiene el nombre de la relación en la que participa este extremo relacionado.

(Heredado de RelatedEnd)
RelationshipSet

Obtiene una referencia a los metadatos para el extremo relacionado.

(Heredado de RelatedEnd)
SourceRoleName

Obtiene el nombre de la función en el extremo de origen de la relación.

(Heredado de RelatedEnd)
TargetRoleName

Obtiene el nombre del rol en el extremo de destino de la relación.

(Heredado de RelatedEnd)
Value

Obtiene o establece el objeto relacionado devuelto por esta 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.

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

Define una relación entre dos objetos asociados.

(Heredado de RelatedEnd)
CreateSourceQuery()

Crea una consulta de objeto equivalente que devuelve el objeto relacionado.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetEnumerator()

Devuelve un IEnumerator que recorre en iteración la colección de objetos relacionados.

(Heredado de RelatedEnd)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
Load()

Cuando se invalida en una clase derivada, carga el objeto u objetos relacionados en el extremo relacionado con la opción de fusión mediante combinación predeterminada.

(Heredado de RelatedEnd)
Load(MergeOption)

Carga el objeto relacionado para esta EntityReference<TEntity> con la opción de fusión mediante combinación especificada.

MemberwiseClone()

Crea una copia superficial del Object actual.

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

Combina entidades relacionadas en la EntityCollection<TEntity> local.

(Heredado de RelatedEnd)
OnDeserialized(StreamingContext)

Se usa internamente para deserializar los objetos entidad junto con las instancias de RelationshipManager.

(Heredado de RelatedEnd)
OnRefDeserialized(StreamingContext)

Este método se usa internamente para serializar los objetos entidad relacionados.

OnSerializing(StreamingContext)

Este método se usa internamente para serializar los objetos entidad relacionados.

ToString()

Devuelve una cadena que representa el objeto actual.

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

Determina si un objeto puede asociarse a la referencia o colección local.

(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.

(Heredado de RelatedEnd)
ValidateOwnerForAttach()

Garantiza que el objeto al que pertenece el extremo relacionado admite una operación de adjuntar.

(Heredado de RelatedEnd)

Eventos

AssociationChanged

Se produce cuando se realiza un cambio en un extremo relacionado.

(Heredado de RelatedEnd)

Implementaciones de interfaz explícitas

IRelatedEnd.Add(IEntityWithRelationships)

Agrega un objeto al extremo relacionado.

(Heredado de RelatedEnd)
IRelatedEnd.Add(Object)

Agrega un objeto al extremo relacionado.

(Heredado de RelatedEnd)
IRelatedEnd.Attach(IEntityWithRelationships)

Asocia un objeto en el extremo relacionado.

(Heredado de RelatedEnd)
IRelatedEnd.Attach(Object)

Adjunta un objeto al extremo relacionado.

(Heredado de RelatedEnd)
IRelatedEnd.CreateSourceQuery()

Devuelve una IEnumerable que representa los objetos que pertenecen al extremo relacionado.

(Heredado de RelatedEnd)
IRelatedEnd.Remove(IEntityWithRelationships)

Quita un objeto de la colección en el extremo relacionado.

(Heredado de RelatedEnd)
IRelatedEnd.Remove(Object)

Quita un objeto del extremo relacionado si el objeto forma parte del extremo relacionado.

(Heredado de RelatedEnd)

Se aplica a