1

Donc, je lisais sur Entity Framework et en me basant sur mon scénario de développement agile, j'ai décidé d'aller avec les objets POCO.Quelle est la meilleure stratégie de suivi de statut POCO? (EF)

Mais maintenant j'ai quelques problèmes supplémentaires je ne sais pas comment sortir. Je travaille avec les services RIA et Silverlight alors quand je vais enregistrer un objet du côté serveur, je dois attacher l'objet à un ObjectContext. La chose est que je dois alors changer le ObjectState à Ajouté ou Modifié.

Donc, ma question est quelle est la meilleure approche pour vraiment savoir dans quel état le changer. J'ai vu dans le livre de Julia Lerman qu'elle utilise un attribut State dans ses objets POCO et elle prend soin de gérer cet état du côté client avant d'envoyer l'objet au serveur. Cet état est ensuite utilisé pour changer le réel EntitySate une fois attaché.

J'ai également vu d'autres exemples où l'implémentation d'Insert vérifie la clé de l'entité (objet) pour savoir si elle est nouvelle ou non. Par exemple, si ProjectId dans mon entité de projet est 0 (zéro), je sais qu'il doit s'agir d'un nouvel objet.

Pour être honnête, je n'aime pas ces approches parce que dans les deux cas, mes développeurs doivent faire un peu de travail supplémentaire pour réellement enregistrer l'objet. Je voudrais savoir le pour et le contre des deux solutions et j'espère une nouvelle (meilleure) solution que je ne vois toujours pas.

+0

Avez-vous regardé des entités auto-suivi? – RPM1984

+0

oui, mais je dois utiliser POCO :( – sebagomez

Répondre

0

Vous pouvez toujours avoir des entités de suivi automatique et poco. Dans Visual Studio, si vous recherchez dans les modèles de communauté, il existe un modèle de poco auto-suivi. C'est ce que vous voulez utiliser. Si vous pouvez trouver le modèle recherchez vos entités en utilisant Ientitywithobjecttracker.

http://msdn.microsoft.com/en-us/library/dd456848.aspx

+0

Je sais que je peux ... mais nous faisons le développement Agile avec unitesting et nous avons décidé d'aller avec POCO, plaine POCO – sebagomez

+0

Auto Tracking Entités sont POCO. Si vous avez créé un modèle qui ne peut pas être modifié, votre seule option est de gérer vous-même le suivi des modifications. Vous avez dit que vous ne souhaitiez pas que vos développeurs écrivent le code de suivi Personnellement, je reviendrai sur la régénération du modèle par rapport au modèle STE POCO L'autre type de suivi est via les proxies EF, mais comme vous utilisez les services RIA, vous ne voulez pas suivre cette voie car les proxies ne le font pas. t jouer particulièrement bien quand sérialisé (selon Julie Lerman). –