J'utilise EF 4.1 et Code-d'abord dans un projet MVC, et automapper pour mapper des entités pour voir les modèles. P>
Avant d'utiliser le code - je pouvais d'abord exclure les propriétés de navigation afin d'empêcher tout ce qui n'était pas déjà chargé. J'utilise .Cluded () dans mes questions pour inclure les références dont j'ai besoin afin d'éviter des voyages ronds supplémentaires de la base de données. P>
Toutefois, avec le code - d'abord, mon entité n'expose qu'une propriété d'entité (ou l'ICollection s'il y en a plus d'une). Comment puis-je savoir s'il a été chargé sans déclencher la charge? P>
En supposant que cela puisse être fait, est-il un moyen d'en faire le comportement par défaut pour SOPApper, de sorte que je n'ai pas à exclure explicitement les membres sur chaque entité? P>
3 Réponses :
Vous devriez être capable de chargez explicitement eux en éteignant paresseux chargant:
Je pense que avec EF4.1 et le code - il a d'abord pocos, donc is chargé code> et
charge code> ne sera pas disponible sur les propriétés de navigation.
Merci, la désactivation du chargement paresseux pourrait également être une option - verra ce qui fonctionne mieux.
Vous pouvez vérifier si une propriété de navigation de référence ou de collecte d'une entité code> code> a été chargée par:
Merci, c'est exactement ce dont j'ai besoin. Dommage que j'ai besoin du contexte autour, peut avoir à ajouter des aides sur mon référentiel pour cela à la place.
Le code EF fait d'abord le chargement paresseux uniquement pour les propriétés marquées comme virtuel (cela peut remplacer ceux-ci et placer dynamicproxy au lieu de cela). Si vous ne faites pas votre propriété virtuelle, vous fermerez le chargement paresseux pour cette propriété. P>