Dans notre application en couches, nous accédons à la base de données via des appels WCF. Nous créons et disposons de contextes par demande. Nous utilisons également une approche de POCO.
Ma question est que, dans le modèle POPO POCO (Pocos ignorant complètement persistant), est-il possible de suivre les modifications, tandis que nous créons et éliminons le contexte par demande (comme le contexte précédent est disposé dans cet appel de service)? Si oui, comment EF gère cette situation? Pour autant que je puisse voir 2 mécanismes (suivi des changements basés sur une instantané et suivi de la notification basé sur les proxies) ne pourra pas gérer cela? Sinon, comment devrions-nous gérer le contexte afin de pouvoir suivre les changements? P>
3 Réponses :
Malheureusement, vous ne trouverez pas une solution simple à cela dans l'entité Framework V1.0. Il y a eu beaucoup discussion et peu de résolution. C'est l'un des nombreux problèmes connus avec EF v1.0 et d'une manière ou d'une autre, vous finirez par avoir à écrire des lots du code pour gérer cela. p>
in .NET 4.0 L'équipe Ado.net a introduit Entités auto-suivantes pour s'attaquer à ce problème même. p>
Je dirais: P>
Ne pas utiliser d'entités de suivi automatique dans un environnement SOA pur: Les entités auto-suivantes ne fonctionnent que lorsque vos clients utilisent les classes de proxy générées. P>
Lorsque vous faites SOA par le livre, vous ne pouvez pas vous attendre à vos clients être .net, ou encore plus, .NET 4.0; Qui est le seul scénario dans lequel les entités de suivi de soi fonctionneront. Vos services seront inutile à tout autre client. P>
juste mes 2 cents, Salutations, KOEN P>
Les entités auto-suivantes résoutent effectivement ce problème si vous êtes capable de partager le modèle avec le client par opposition à l'utilisation de métadonnées générées par la référence. P>
Résumé Les stes em> et font référence à partir du client, vous aurez accès au suivi déconnecté du contexte. P>
En ce qui concerne vos références abrégées à "entités auto-suivantes" i>, veuillez noter que pour les abréviations à utiliser, vous devez d'abord introduire qui est abrégé.