EntityReference<TEntity> Classe

Definição

Representa um fim relacionado de uma associação com multiplicidade de zero ou um.

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 Genérico

TEntity

O tipo de entidade da referência.

Herança
EntityReference<TEntity>
Atributos

Exemplos

Este exemplo mostra como usar o EntityReference<TEntity> objeto para alterar uma relação entre um SalesOrderHeader objeto e um objeto relacionado Address que representa o endereço de envio da encomenda.


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

Observações

Um EntityReference<TEntity> objeto é devolvido por uma propriedade de navegação quando a extremidade relacionada tem multiplicidade de zero ou um. Para mais informações, veja NavigationProperty Element (CSDL).

Um EntityReference<TEntity> objeto pode ter uma relação correspondente EntityCollection<TEntity> (um para-muitos) ou EntityReference<TEntity> (relação um-para-um) no outro extremo da relação. Quando um EntityReference<TEntity> e um EntityCollection<TEntity> modelo opostos terminam a mesma relação, a integridade da relação mantém-se ao nível do objeto.

Esta classe não pode ser herdada.

Construtores

Name Description
EntityReference<TEntity>()

Cria uma nova instância de EntityReference<TEntity>.

Propriedades

Name Description
EntityKey

Devolve a chave para o objeto relacionado.

(Herdado de EntityReference)
IsLoaded

Obtém um valor que indica se todos os objetos relacionados foram carregados.

(Herdado de RelatedEnd)
RelationshipName

Obtém o nome da relação em que este fim relacionado participa.

(Herdado de RelatedEnd)
RelationshipSet

Obtém uma referência aos metadados do lado relacionado.

(Herdado de RelatedEnd)
SourceRoleName

Recebe o nome do papel no final da relação.

(Herdado de RelatedEnd)
TargetRoleName

Recebe o nome do papel no final da relação.

(Herdado de RelatedEnd)
Value

Obtém ou define o objeto relacionado devolvido por este EntityReference<TEntity>.

Métodos

Name Description
Attach(TEntity)

Cria uma relação muitos-para-um ou um-para-um entre dois objetos no contexto do objeto.

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

Define uma relação entre dois objetos ligados.

(Herdado de RelatedEnd)
CreateSourceQuery()

Cria uma consulta de objeto equivalente que devolve o objeto relacionado.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetEnumerator()

Retorna um IEnumerator que itera através da coleção de objetos relacionados.

(Herdado de RelatedEnd)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
Load()

Quando é sobreposto numa classe derivada, carrega o objeto ou objetos relacionados na extremidade associada com a opção de fusão por defeito.

(Herdado de RelatedEnd)
Load(MergeOption)

Carrega o objeto relacionado com EntityReference<TEntity> a opção de fusão especificada.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

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

Funde entidades relacionadas no local EntityCollection<TEntity>.

(Herdado de RelatedEnd)
OnDeserialized(StreamingContext)

Usado internamente para desserializar objetos entidade juntamente com as RelationshipManager instâncias.

(Herdado de RelatedEnd)
OnRefDeserialized(StreamingContext)

Este método é usado internamente para serializar objetos entidades relacionadas.

OnSerializing(StreamingContext)

Este método é usado internamente para serializar objetos entidades relacionadas.

ToString()

Devolve uma cadeia que representa o objeto atual.

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

Determina se um objeto pode ser associado à coleção ou referência local.

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

Assegura que o objeto ou objetos relacionados podem ser carregados com sucesso na coleção ou referência local.

(Herdado de RelatedEnd)
ValidateOwnerForAttach()

Assegura que o objeto ao qual pertence a extremidade relacionada suporta uma operação de anexação.

(Herdado de RelatedEnd)

evento

Name Description
AssociationChanged

Ocorre quando uma alteração é feita para um fim relacionado.

(Herdado de RelatedEnd)

Implementações de Interface Explícita

Name Description
IRelatedEnd.Add(IEntityWithRelationships)

Adiciona um objeto à extremidade relacionada.

(Herdado de RelatedEnd)
IRelatedEnd.Add(Object)

Adiciona um objeto à extremidade relacionada.

(Herdado de RelatedEnd)
IRelatedEnd.Attach(IEntityWithRelationships)

Anexa um objeto na extremidade relacionada.

(Herdado de RelatedEnd)
IRelatedEnd.Attach(Object)

Anexa um objeto à extremidade relacionada.

(Herdado de RelatedEnd)
IRelatedEnd.CreateSourceQuery()

Devolve um IEnumerable que representa os objetos que pertencem ao extremo relacionado.

(Herdado de RelatedEnd)
IRelatedEnd.Remove(IEntityWithRelationships)

Remove um objeto da coleção na extremidade relacionada.

(Herdado de RelatedEnd)
IRelatedEnd.Remove(Object)

Remove um objeto da extremidade relacionada se o objeto fizer parte da extremidade relacionada.

(Herdado de RelatedEnd)

Aplica-se a