Compartilhar via


EntityReference<TEntity> Classe

Definição

Representa uma extremidade relacionada de uma associação com uma 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

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

Comentários

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

Um EntityReference<TEntity> objeto pode ter uma relação correspondente EntityCollection<TEntity> (um para muitos) ou EntityReference<TEntity> (relação um para um) na outra extremidade da relação. Quando um EntityReference<TEntity> e um EntityCollection<TEntity> modelo se opõem às extremidades da mesma relação, a integridade da relação é mantida no nível do objeto.

Essa classe não pode ser herdada.

Construtores

EntityReference<TEntity>()

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

Propriedades

EntityKey

Retorna uma 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 na qual essa extremidade relacionada participa.

(Herdado de RelatedEnd)
RelationshipSet

Obtém uma referência aos metadados para a extremidade relacionada.

(Herdado de RelatedEnd)
SourceRoleName

Obtém o nome da função na extremidade de origem da relação.

(Herdado de RelatedEnd)
TargetRoleName

Obtém o nome da função na extremidade de destino da relação.

(Herdado de RelatedEnd)
Value

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

Métodos

Attach(TEntity)

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

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

Define uma relação entre dois objetos anexados.

(Herdado de RelatedEnd)
CreateSourceQuery()

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

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetEnumerator()

Retorna um IEnumerator que itera na coleção de objetos relacionados.

(Herdado de RelatedEnd)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
Load()

Quando substituído em uma classe derivada, carrega um ou mais objetos relacionados à extremidade relacionada com a opção de mesclagem padrão.

(Herdado de RelatedEnd)
Load(MergeOption)

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

MemberwiseClone()

Cria uma cópia superficial do Object atual.

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

Mescla entidades relacionadas com o EntityCollection<TEntity> local.

(Herdado de RelatedEnd)
OnDeserialized(StreamingContext)

Usado internamente para desserializar objetos de entidade junto com instâncias do RelationshipManager.

(Herdado de RelatedEnd)
OnRefDeserialized(StreamingContext)

Esse método é usado internamente para serializar objetos de entidade relacionados.

OnSerializing(StreamingContext)

Esse método é usado internamente para serializar objetos de entidade relacionados.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

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

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

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

Garante que os objetos relacionados podem ser carregados com êxito na referência ou na coleção local.

(Herdado de RelatedEnd)
ValidateOwnerForAttach()

Garante que o objeto ao qual pertence a extremidade relacionada dá suporte a uma operação de anexação.

(Herdado de RelatedEnd)

Eventos

AssociationChanged

Ocorre quando é feita uma alteração a uma extremidade relacionada.

(Herdado de RelatedEnd)

Implantações explícitas de interface

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 ao final relacionado.

(Herdado de RelatedEnd)
IRelatedEnd.Attach(Object)

Anexa um objeto ao fim relacionado.

(Herdado de RelatedEnd)
IRelatedEnd.CreateSourceQuery()

Retorna um IEnumerable que representa os objetos que pertencem à extremidade relacionada.

(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