EntityReference<TEntity> Clase

Definición

Representa un final 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 usar el EntityReference<TEntity> objeto para cambiar una relación entre un SalesOrderHeader objeto y un objeto relacionado Address 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 EntityReference<TEntity> propiedad de navegación devuelve un objeto cuando el extremo relacionado tiene una multiplicidad de cero o uno. Para obtener más información, vea Elemento NavigationProperty (CSDL) .

Un EntityReference<TEntity> objeto puede tener una relación correspondiente EntityCollection<TEntity> (relación uno a varios) o EntityReference<TEntity> (relación uno a uno) al otro extremo de la relación. Cuando un EntityReference<TEntity> modelo y un EntityCollection<TEntity> modelo opuesto finalizan de la misma relación, la integridad de la relación se mantiene en el nivel de objeto.

Esta clase no puede heredarse.

Constructores

Nombre Description
EntityReference<TEntity>()

Crea una nueva instancia de EntityReference<TEntity>.

Propiedades

Nombre Description
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 final relacionado.

(Heredado de RelatedEnd)
SourceRoleName

Obtiene el nombre del rol 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 este EntityReference<TEntity>objeto .

Métodos

Nombre Description
Attach(TEntity)

Crea una relación de varios a uno o uno a uno entre dos objetos en el contexto del objeto.

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

Define una relación entre dos objetos adjuntos.

(Heredado de RelatedEnd)
CreateSourceQuery()

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

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetEnumerator()

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

(Heredado de RelatedEnd)
GetHashCode()

Actúa como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
Load()

Cuando se reemplaza en una clase derivada, carga el objeto o los objetos relacionados en el extremo relacionado con la opción de combinación predeterminada.

(Heredado de RelatedEnd)
Load(MergeOption)

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

MemberwiseClone()

Crea una copia superficial del Objectactual.

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

Combina entidades relacionadas en el local EntityCollection<TEntity>.

(Heredado de RelatedEnd)
OnDeserialized(StreamingContext)

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

(Heredado de RelatedEnd)
OnRefDeserialized(StreamingContext)

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

OnSerializing(StreamingContext)

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

ToString()

Devuelve una cadena que representa el objeto actual.

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

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

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

Garantiza que el objeto o los objetos relacionados se puedan cargar correctamente en la colección o referencia local.

(Heredado de RelatedEnd)
ValidateOwnerForAttach()

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

(Heredado de RelatedEnd)

Eventos

Nombre Description
AssociationChanged

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

(Heredado de RelatedEnd)

Implementaciones de interfaz explícitas

Nombre Description
IRelatedEnd.Add(IEntityWithRelationships)

Agrega un objeto al final relacionado.

(Heredado de RelatedEnd)
IRelatedEnd.Add(Object)

Agrega un objeto al final relacionado.

(Heredado de RelatedEnd)
IRelatedEnd.Attach(IEntityWithRelationships)

Adjunta un objeto al final relacionado.

(Heredado de RelatedEnd)
IRelatedEnd.Attach(Object)

Adjunta un objeto al final relacionado.

(Heredado de RelatedEnd)
IRelatedEnd.CreateSourceQuery()

Devuelve un IEnumerable que representa los objetos que pertenecen al final relacionado.

(Heredado de RelatedEnd)
IRelatedEnd.Remove(IEntityWithRelationships)

Quita un objeto de la colección al final 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