Quelles sont les questions que je peux me poser sur notre conception pour identifier si nous devons utiliser des DTO ou des entités auto-suivantes dans notre application? P>
Voici certaines choses que je savais de prendre en considération: p>
Alors, comment puis-je déterminer ce qui nous convient? Je n'ai jamais utilisé EF auparavant, je ne sais vraiment pas si les stés sont juste pour nous ou non. P>
J'ai vu que les gens suggèrent à partir de Stes et ne mettent en œuvre que les DTO si elles deviennent un problème, mais nous avons actuellement des DTO en place et essayons de décider si l'utilisation de STES faciliterait la vie. Nous sommes suffisamment tôt dans le processus que la commutation ne prendrait pas trop de temps, mais je ne veux pas passer à Stes uniquement pour le savoir que cela ne fonctionne pas pour nous et ne doit pas tout changer. P>
3 Réponses :
Vous pouvez opter Ste pour un scénario donné, P>
Pourquoi Ste Pro N ° 3 n'est-il pas important pour Pocos?
Je dirais que c'est duplicity. Comme le POCO et le DTO ont la plupart des mêmes propriétés.
Ensuite, votre réponse est trompeuse. Il présente à ce point comme un avantage des bêtes sur les pocos.
POCO est dynamique proxé et ne joue pas bien sur le fil Voir ce MSDN Article pour la solution de contournement si . Donc, ils peuvent être faits à, mais à l'OMI, vous feriez mieux de devenir STE, car je pense qu'ils s'alignent bien avec le développement WPF / MVVM. P>
Si je comprends votre architecture, je pense que ce n'est pas bon pour Stes parce que: p>
L'avantage principal (et le seul avantage) ou Stes est leur capacité de suivi, mais la capacité de suivi ne fonctionne que si STE est utilisé des deux côtés: P>
En bref: il n'y a pas de modèles supplémentaires sur le client ou le côté serveur. Utiliser pleinement des stes, ils doivent être: p>
Tout autre scénario signifie simplement que vous ne profitez pas de la capacité de suivi de soi et que vous n'en avez pas besoin. P>
Qu'en est-il de vos autres exigences? p>
Ceci devrait être probablement possible, mais assurez-vous que chaque partie "paresseuse chargée" est une structure séparée - ne pas créer de modèle complexe du côté du client. J'ai déjà vu des questions où les gens devaient envoyer un graphique entité entière pour des mises à jour qui ne sont pas ce que vous voulez toujours. À cause de cela, je pense que vous ne devez pas connecter de pièces chargées dans un graphe d'entité unique. P>
Je ne sais pas comment voulez-vous réellement atteindre cela. Les stées n'utilisent pas de projections pour que vous ne comprenez pas les champs nuls directement dans des entités. Sachez que vous devez le faire lorsque l'entité n'est pas en état de suivi ou que votre masquage sera enregistré dans la base de données. P>
C'est quelque chose qui n'est pas un problème des stes. Le serveur doit utiliser un contexte EF correct pour charger et enregistrer les données. P>
Stations sont la mise en œuvre du modèle de changement de changement. Si vous souhaitez les utiliser, vous devez suivre leurs règles pour tirer pleinement parti du modèle. Ils peuvent économiser du temps s'il est utilisé correctement, mais cette accélération est livrée avec un sacrifice de certaines décisions architecturales. Comme toute autre technologie n'est pas parfaite et que vous pouvez parfois les trouver difficiles à utiliser (juste suivre entités auto-suivies < / a> tag pour voir des questions). Ils ont aussi des sérieux inconvénients mais en .NET WPF Client Vous ne les rencontrerez pas. P>