EntityReference<TEntity>.Load(MergeOption) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Charge l'objet connexe pour cet objet 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 manière dont l'objet doit être retourné s'il existe déjà dans l'objet ObjectContext.
Exceptions
La source de EntityReference<TEntity> est une null
.
- ou -
Une requête a retourné plusieurs terminaisons connexes.
- ou -
Une requête a retourné des terminaisons connexes nulles et une terminaison connexe était attendue.
Remarques
Cette méthode est utilisée pour charger l'objet connexe.
Une fois chargé, l'objet connexe est accessible à partir de la propriété Value.
Pour charger explicitement des objets connexes, vous devez appeler la Load
méthode à l’extrémité associée retournée par la propriété de navigation. Dans le cas d'une relation un-à-plusieurs, appelez la méthode Load sur EntityCollection<TEntity> ; dans le cas d'une relation un-à-un, appelez la méthode Load sur EntityReference<TEntity>. Cela charge les données d'objets connexes dans le contexte d'objet. Lorsqu’une requête retourne des résultats, vous pouvez énumérer la collection d’objets à l’aide d’une foreach
boucle (For Each...Next
en Visual Basic) et appeler de manière conditionnelle la Load
méthode sur EntityReference<TEntity> les propriétés et EntityCollection<TEntity> pour chaque entité dans les résultats.
La Load méthode charge des objets associés à partir de la source de données, que soit ou non IsLoadedtrue
.
Notes
Lorsque vous appelez la méthode Load lors d'une énumération foreach
(C#) ou For Each
(Visual Basic), Object Services essaie d'ouvrir un nouveau lecteur de données. Cette opération échoue sauf si vous avez activé des ensembles de résultats actifs multiples (MARS) 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 la collection pour charger des objets référencés.
Cette méthode appelle la méthode interne RelatedEnd.ValidateLoad
avant de charger l’objet associé, ce qui vérifie qu’un appel à Load a les conditions correctes. La RelatedEnd.ValidateLoad
méthode vérifie que :
- Un valide ObjectContext existe.
- L’entité n’est pas dans un Deleted état.
- MergeOption for Load doit être NoTracking si et uniquement si l’entité source était NoTracking. Si l’entité source a été récupérée avec un autre MergeOption, peut LoadMergeOption être autre chose que NoTracking (par exemple, l’entité peut avoir été chargée avec OverwriteChanges et l’option Load peut être AppendOnly).
- Si
mergeOption
a la valeur NoTracking, Load n’est pas appelé sur une entité déjà chargée et Load n’est pas appelé sur un objet non vide et non suivi RelatedEnd.
Lorsque l’objet associé est déjà chargé dans , ObjectContextla Load méthode applique le MergeOption spécifié par le mergeOption
paramètre . Pour plus d’informations, consultez Résolution de l’identité, gestion d’état et suivi des modifications.
S’applique à
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour