L'année dernière, j'ai développé un service d'accès aux données pour notre projet en utilisant Entity Framework (.NET3.5 bien sûr) et en utilisant le livre de Julie Lerhman comme outil de suivi des objets POCO. Nous utilisons WCF et avons également des clients Silverlight 3. Nous passons à .NET 4.0 et je veux passer à l'utilisation de la génération de code pour éliminer le temps de développement gaspillé à écrire les classes POCO et les classes de traduction.EF4 POCO: Snapshot vs Auto-suivi sur WCF
Avec la recherche que je l'ai fait semble qu'il y ait 3 façons de Poços de suivi de l'état:
1) Changé suivi proxies: Ne semble pas être utile pour nous car il semble que cela ne fonctionne pas sur WCF sérialisation.
2) Snapshot based: Snapshot est pris lorsque le graphe d'entité POCO est récupéré, le graphique retourné par le client est comparé à cet instantané et les différences sont comparées ... me semble bien.
3) Entités auto-suivies: Le générateur de code génère une logique pour effectuer un suivi automatique dans les objets POCO. Cela semble proche de ce que nous faisons maintenant, sauf que tout est généré pour nous. J'essaie de déterminer quels sont les avantages et les inconvénients de toutes ces méthodes. Je devine que 1 et 2 sont "connectés" et qu'ils ont besoin du ObjectContext que les POCO ont été initialement demandés pour rester instanciés, mais n'ont pas pu le confirmer. Je ne vois pas non plus pourquoi quelqu'un voudrait vraiment s'inquiéter de l'option 1 étant donné que l'option 3 semble faire la même chose et plus ...
Snapshot me semble le plus simple, mais si cela nécessite un ObjectContext pour rester ouvert depuis longtemps je ne suis pas si sûr ...
Je suis seulement un programmeur junior donc aucun conseil ici, surtout en ce qui concerne Silverlight 3 (je crois que les options 2 et 3 fonctionnent avec Silverlight 3 mais 2 peuvent avoir des problèmes) est très apprécié.
En tant que mise à jour, j'utilise maintenant State Tracked Entities dans notre application WCF/Silverlight 4 et ils fonctionnent plutôt bien (bien qu'ils aient des problèmes avec les suppressions). Les propriétés de navigation sont maintenant des TrackableCollections qui dérivent de ObservableCollection et se lient ainsi à XAML dans un rêve. Je recommande vivement cette solution. – MrLane
Copie possible de http://stackoverflow.com/questions/3814706/self-tracking-entities-vs-poco-entities et de http://stackoverflow.com/questions/6116002/entity-framework-self-tracking-entities -vs-poco –