EntityReference<TEntity> Classe

Définition

Représente une terminaison connexe d'une association avec une multiplicité de zéro ou un.Represents a related end of an association with a multiplicity of zero or one.

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
type EntityReference<'Entity (requires 'Entity : null)> = class
    inherit EntityReference
Public NotInheritable Class EntityReference(Of TEntity)
Inherits EntityReference

Paramètres de type

TEntity

Type d'entité de la référence.The entity type of the reference.

Héritage
EntityReference<TEntity>
Attributs

Exemples

Cet exemple indique comment utiliser l'objet EntityReference<TEntity> pour modifier une relation entre un objet SalesOrderHeader et un objet Address connexe qui représente l'adresse d'expédition pour la commande.This example shows how to use the EntityReference<TEntity> object to change a relationship between a SalesOrderHeader object and a related Address object that represents the shipping address for the order.


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

' Define the order and new address IDs. 
Dim orderId As Integer = 43669
Dim addressId As Integer = 26

Using context As New AdventureWorksEntities()
    ' Get the billing address to change to. 
    Dim address As Address = context.Addresses.Single(Function(c) c.AddressID = addressId)

    ' Get the order being changed. 
    Dim order As SalesOrderHeader = context.SalesOrderHeaders.Single(Function(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 Not order.Address.Equals(address) Then
        ' Use Address navigation property to change the association. 
        order.Address = address

        ' Write the changed billing street address. 
        Console.WriteLine("Changed street: " & order.Address.AddressLine1)
    End If

    ' If the address change succeeds, save the changes. 
    context.SaveChanges()

    ' Write the current billing street address. 
    Console.WriteLine("Current street: " & order.Address.AddressLine1)
End Using

Remarques

EntityReference<TEntity> est retourné par une propriété de navigation lorsque la terminaison connexe a une multiplicité de zéro ou un.An EntityReference<TEntity> object is returned by a navigation property when the related end has a multiplicity of zero or one. Pour plus d’informations, consultez NavigationProperty, élément (CSDL).For more information, see NavigationProperty Element (CSDL).

Un objet EntityReference<TEntity> peut avoir un objet EntityCollection<TEntity> (relation un-à-plusieurs) ou EntityReference<TEntity> (relation un-à-un) correspondant à l'autre terminaison de la relation.An EntityReference<TEntity> object might have a corresponding EntityCollection<TEntity> (one-to-many relationship) or EntityReference<TEntity> (one-to-one relationship) at the other end of the relationship. Lorsque des objets EntityReference<TEntity> et EntityCollection<TEntity> modèlent des terminaisons opposées de la même relation, l'intégrité de la relation est maintenue au niveau de l'objet.When an EntityReference<TEntity> and an EntityCollection<TEntity> model opposing ends of the same relationship, the integrity of the relationship is maintained at the object level.

Cette classe ne peut pas être héritée.This class cannot be inherited.

Constructeurs

EntityReference<TEntity>()

Crée une instance de EntityReference<TEntity>.Creates a new instance of EntityReference<TEntity>.

Propriétés

EntityKey

Retourne la clé de l'objet connexe.Returns the key for the related object.

(Hérité de EntityReference)
IsLoaded

Obtient une valeur qui indique si tous les objets connexes ont été chargés.Gets a value that indicates whether all related objects have been loaded.

(Hérité de RelatedEnd)
RelationshipName

Obtient le nom de la relation à laquelle cette terminaison connexe participe.Gets the name of the relationship in which this related end participates.

(Hérité de RelatedEnd)
RelationshipSet

Obtient une référence aux métadonnées de la terminaison connexe.Gets a reference to the metadata for the related end.

(Hérité de RelatedEnd)
SourceRoleName

Obtient le nom du rôle à la terminaison source de la relation.Gets the role name at the source end of the relationship.

(Hérité de RelatedEnd)
TargetRoleName

Obtient le nom du rôle à la terminaison cible de la relation.Gets the role name at the target end of the relationship.

(Hérité de RelatedEnd)
Value

Obtient ou définit l'objet connexe retourné par EntityReference<TEntity>.Gets or sets the related object returned by this EntityReference<TEntity>.

Méthodes

Attach(TEntity)

Crée une relation plusieurs-à-un ou un-à-un entre deux objets dans le contexte de l'objet.Creates a many-to-one or one-to-one relationship between two objects in the object context.

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

Définit une relation entre deux objets attachés.Defines a relationship between two attached objects.

(Hérité de RelatedEnd)
CreateSourceQuery()

Crée une requête d'objet équivalente qui retourne l'objet connexe.Creates an equivalent object query that returns the related object.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.Determines whether the specified object is equal to the current object.

(Hérité de Object)
GetEnumerator()

Retourne un objet IEnumerator qui itère au sein de la collection d'objets connexes.Returns an IEnumerator that iterates through the collection of related objects.

(Hérité de RelatedEnd)
GetHashCode()

Sert de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
Load()

En cas de substitution dans une classe dérivée, charge les objets connexes dans la terminaison connexe avec l'option de fusion par défaut.When overridden in a derived class, loads the related object or objects into the related end with the default merge option.

(Hérité de RelatedEnd)
Load(MergeOption)

Charge l'objet connexe pour EntityReference<TEntity> avec l'option de fusion spécifiée.Loads the related object for this EntityReference<TEntity> with the specified merge option.

MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
Merge<TEntity>(IEnumerable<TEntity>, MergeOption, Boolean)

Fusionne des entités connexes dans l'objet EntityCollection<TEntity> local.Merges related entities into the local EntityCollection<TEntity>.

(Hérité de RelatedEnd)
OnDeserialized(StreamingContext)

Utilisé en interne pour désérialiser des objets d'entité avec les instances RelationshipManager.Used internally to deserialize entity objects along with the RelationshipManager instances.

(Hérité de RelatedEnd)
OnRefDeserialized(StreamingContext)

Cette méthode est utilisée en interne pour sérialiser des objets d'entité associée.This method is used internally to serialize related entity objects.

OnSerializing(StreamingContext)

Cette méthode est utilisée en interne pour sérialiser des objets d'entité associée.This method is used internally to serialize related entity objects.

ToString()

Retourne une chaîne qui représente l'objet en cours.Returns a string that represents the current object.

(Hérité de Object)
ValidateEntityForAttach<TEntity>(TEntity, Int32, Boolean)

Détermine si un objet peut être attaché à la référence ou collection locale.Determines whether an object can be attached to the local collection or reference.

(Hérité de RelatedEnd)
ValidateLoad<TEntity>(MergeOption, String)

Garantit que les objets connexes peuvent être chargés avec succès dans la collection ou référence locale.Ensures that the related object or objects can be successfully loaded into the local collection or reference.

(Hérité de RelatedEnd)
ValidateOwnerForAttach()

Garantit que l’objet auquel la terminaison connexe appartient prend en charge une opération d’attachement.Ensures that the object to which the related end belongs supports an attach operation.

(Hérité de RelatedEnd)

Événements

AssociationChanged

Se produit lorsqu'une modification est apportée à une terminaison connexe.Occurs when a change is made to a related end.

(Hérité de RelatedEnd)

Implémentations d’interfaces explicites

IRelatedEnd.Add(IEntityWithRelationships)

Ajoute un objet à la terminaison connexe.Adds an object to the related end.

(Hérité de RelatedEnd)
IRelatedEnd.Add(Object)

Ajoute un objet à la terminaison connexe.Adds an object to the related end.

(Hérité de RelatedEnd)
IRelatedEnd.Attach(IEntityWithRelationships)

Attache un objet à la terminaison connexe.Attaches an object at the related end.

(Hérité de RelatedEnd)
IRelatedEnd.Attach(Object)

Attache un objet à la terminaison connexe.Attaches an object to the related end.

(Hérité de RelatedEnd)
IRelatedEnd.CreateSourceQuery()

Retourne un objet IEnumerable qui représente les objets appartenant à la terminaison connexe.Returns an IEnumerable that represents the objects that belong to the related end.

(Hérité de RelatedEnd)
IRelatedEnd.Remove(IEntityWithRelationships)

Supprime un objet de la collection à la terminaison connexe.Removes an object from the collection at the related end.

(Hérité de RelatedEnd)
IRelatedEnd.Remove(Object)

Supprime un objet de la terminaison connexe si l'objet appartient à celle-ci.Removes an object from the related end if the object is part of the related end.

(Hérité de RelatedEnd)

S’applique à