Partage via


EntityReference<TEntity>.Load(MergeOption) Méthode

Définition

Charge l’objet associé pour cette EntityReference<TEntity> avec l’option de fusion spécifiée.

public:
 override void Load(System::Data::Objects::MergeOption mergeOption);
public override void Load (System.Data.Objects.MergeOption mergeOption);
override this.Load : System.Data.Objects.MergeOption -> unit
Public Overrides Sub Load (mergeOption As MergeOption)

Paramètres

mergeOption
MergeOption

Spécifie la façon dont l’objet doit être retourné s’il existe déjà dans le ObjectContext.

Exceptions

La source du EntityReference<TEntity> est null.

-ou-

Une requête a retourné plusieurs extrémités associées.

-ou-

Une requête a retourné zéro extrémité associée et une fin associée était attendue.

Remarques

Cette méthode est utilisée pour charger l’objet associé.

Lors du chargement, l’objet associé est accessible à partir de la propriété Value.

Pour charger explicitement des objets associés, vous devez appeler la méthode Load sur la fin associée retournée par la propriété de navigation. Pour une relation un-à-plusieurs, appelez la méthode Load sur EntityCollection<TEntity>et pour une relation un-à-un, appelez la Load sur EntityReference<TEntity>. Cela charge les données d’objet associées dans le contexte de l’objet. Lorsqu’une requête retourne des résultats, vous pouvez énumérer la collection d’objets à l’aide d’une boucle foreach (For Each...Next en Visual Basic) et appeler conditionnellement la méthode Load sur EntityReference<TEntity> et EntityCollection<TEntity> propriétés pour chaque entité dans les résultats.

La méthode Load charge des objets connexes à partir de la source de données, que IsLoaded soit true.

Note

Lorsque vous appelez la méthode Load pendant une énumération foreach (C#) ou For Each (Visual Basic), Object Services tente d’ouvrir un nouveau lecteur de données. Cette opération échoue, sauf si vous avez activé plusieurs jeux de résultats actifs en spécifiant multipleactiveresultsets=true dans la chaîne de connexion. Vous pouvez également charger le résultat de la requête dans une collection List<T>. Cela ferme le lecteur de données et vous permet d’énumérer sur la collection pour charger des objets référencés.

Cette méthode appelle la méthode de RelatedEnd.ValidateLoad interne avant de charger l’objet associé, ce qui valide qu’un appel à Load a les conditions correctes. La méthode RelatedEnd.ValidateLoad vérifie que :

Lorsque l’objet associé est déjà chargé dans le ObjectContext, la méthode Load applique la MergeOption spécifiée par le paramètre mergeOption. Pour plus d’informations, consultez Résolution des identités, Gestion des états et suivi des modifications.

S’applique à

Voir aussi