Je vais bientôt commencer à coder une nouvelle application Web. L'application sera construite en utilisant ASP.Net MVC 3 et Entity Framework 4.1 (approche de la base de données). Au lieu d'utiliser les classes EntityObject par défaut, je vais créer des classes POCO à l'aide du générateur d'entité POCO ADO.NET. Lorsque je crée des POCO à l'aide de cet outil, il ajoute automatiquement le mot clé virtuel à toutes les propriétés pour le suivi des modifications et les propriétés de navigation pour le chargement différé. J'ai cependant lu et vu des démonstrations, que Julie Lerman (EF Guru!) Semble désactiver le chargement paresseux et modifie également son modèle POCO afin que le mot-clé virtuel soit retiré de ses classes POCO. Julie explique pourquoi elle le fait parce qu'elle écrit des applications pour les services WCF et que l'utilisation du mot-clé Virtual entraîne un problème de sérialisation. Elle dit, comme un objet est sérialisé, le sérialiseur touche les propriétés de navigation qui déclenche alors le chargement paresseux, et avant que vous le sachiez, vous tirez toute la base de données à travers le fil.Entity Framework POCO Sérialisation
Je pense que Julie était peut-être exagérée quand elle a dit que cela pourrait tirer toute la base de données à travers le fil, cependant, cette idée me fait peur!
Ma question est (enfin), devrais-je aussi supprimer le mot-clé Virtual de mes classes POCO pour mon application MVC et utiliser DectectChanges pour mon suivi des modifications et Eager Loading pour demander des propriétés de navigation.
Nous vous remercions de votre aide.
Merci comme toujours.