EntityReference<TEntity> 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 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
- 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) |