EntityReference<TEntity> Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
- 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) |