40 votes

Quel est le but de l'autonomie des entités de suivi?

J'ai lu à propos de l'auto-suivi des entités .net et comment ils peuvent être générés à partir d'un *.fichier edmx. La chose que j'ai du mal à comprendre, c'est que la production de ces entités vous donne plus de la base EF entités? Aussi, certaines personnes ont mentionné l'autonomie des entités de suivi et Silverlight, mais pourquoi voudriez-vous utiliser ces plutôt que du côté client ou partagé les classes générées par RIA services?

Quel est le point d'auto-suivi des entités et pourquoi voudriez-vous utiliser?

41voto

Ladislav Mrnka Points 218632

L'autonomie des entités de suivi (STE) sont la mise en œuvre du changement (précédent .NET de la mise en œuvre du changement est - DataSet). La différence entre STE et d'autres types d'entités (POCO, EntityObject), les types d'entité pouvez suivre les modifications uniquement lorsque vous êtes connecté à la vie ObjectContext. Une fois l'entité commune est détaché, il lâche tout changement de la capacité de suivi. C'est exactement ce que STE résout. STE est en mesure de suivre les changements, même si vous détachez - ObjectContext.

L'usage commun de la STE est déconnecté de tels scénarios .NET pour .NET communication sur les web services. La première demande de service web permettra de créer et de retour STE (entité est détachée lorsque sérialisé et ObjectContext ne vit que pour servir seul appel). Client de faire des changements dans STE et passer à un autre appel de service web. Le Service sera en mesure de traiter des changements parce qu'il n'aura STE changement interne de suivi disponibles.

La manipulation de ce scénario sans le suivi des modifications est possible, mais il est beaucoup plus complexe, en particulier lorsque vous travaillez avec l'ensemble de l'objet graphique au lieu d'une seule entité, vous devez fusionner manuellement les modifications reçues du client au courant de l'état dans la base de données.

Être conscient que les entreprises d'état ne sont pas interopérables solutions, parce que leur fonctionnement est basé sur le partage de STE code entre le serveur et le client.

15voto

Adam Rackis Points 45559

L'objectif principal est l'aide à N niveaux de développement. Depuis ils sont auto-tracking, vous pouvez sérialiser sur, disons, un service WCF, puis dé-sérialiser en arrière, et qu'ils seront toujours savoir quelles modifications ont été faites, et sont en attente pour la base de données.

L'auto-suivi des entités savoir comment faire leur propre suivi des modifications indépendamment de quel niveau ces modifications sont effectuées sur. Comme l'architecture, l'auto-suivi les entités tombe entre les Dto et Ensembles de données et comprend certains des les avantages de chacun.

http://blogs.msdn.com/b/efdesign/archive/2009/03/24/self-tracking-entities-in-the-entity-framework.aspx

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X