2010-06-03 5 views
1

J'ai utilisé le framework d'entité en combinaison avec les modèles de génération de code d'entité auto-suivi pour ma dernière application silverlight to WCF. C'est la première fois que j'ai utilisé le framework d'entité dans un projet réel et j'espérais gagner beaucoup de temps et d'efforts en mettant à jour automatiquement toute la couche d'accès aux données de mon projet. Heureusement, j'ai trouvé que c'est le cas, mettre à jour mon schéma de base de données en ajoutant une nouvelle table, en changeant les noms de colonnes, en ajoutant de nouvelles colonnes, etc ... peut être propagé à mes classes d'objets métier en utilisant la base de données option sur le modèle de cadre d'entité. Où je suis blessé est les opérations CRUD dans mon service WCF en réponse à des actions sur mon client Silverlight. J'utilise les mêmes objets métier de cadre d'entité de suivi automatique dans mon application Silverlight mais je trouve que je dois continuellement lutter contre des problèmes tels que les associations de clés étrangères mal traitées lors de la mise à jour d'un objet ou le changement de suivi objet à la fin Silverlight et l'opération d'accès aux données dans la couche WCF jeter un wobbly.Le cadre d'entité + les entités d'auto-suivi doivent-ils me faire gagner du temps?

Je dois maintenant passer plus de temps à gérer ces bizarreries qu'à mon projet précédent où j'ai utilisé Linq-to-SQL comme point de départ pour lancer mes propres objets métier.

Est-ce que je suis sans espoir ou est-ce que les entités de suivi de soi approchent quelque chose qui devrait être évité jusqu'à ce qu'il soit plus mature?

+0

Avez-vous trouvé une conclusion à ce sujet? J'envisage actuellement de passer de LinqToSQL à EF avec des entités de suivi automatique, donc j'aimerais vraiment savoir. –

+0

Je suis resté avec les entités de suivi de soi plutôt que de revenir à L2S ou des classes roulées à la main. Si je devais refaire la même chose ... j'essaierais probablement de rester avec l'Entity Framework, je pense que l'approche de modélisation utilisée pour la DAL est la bonne façon de procéder et une fois qu'une bonne compréhension de celle-ci est obtenue, elle sera traduire à une productivité accrue. Je ne suis pas si sûr des entités de suivi de soi. Le code du modèle peut certainement être amélioré et, espérons-le, les mises à jour seront mises en place dans les mois à venir. – sipwiz

Répondre

1

Quelle version des entités de suivi automatique utilisez-vous? J'utilise la version .Net 4.0 avec visual studio 2010. Toutes les opérations CRUD fonctionnent très bien, aussi avec FK.

J'ai eu des problèmes dans VS 2008 avec FK mais cela a disparu dans VS 2010 avec .Net 4.0.

Si vous voulez, je peux vous fournir quelques échantillons.

Salutations

+0

J'utilise aussi VS 2010 et .Net 4. Les opérations CRUD fonctionnent surtout pour moi, mais les 10% de cas de marge prennent beaucoup de temps à régler. Cela ne me dérangerait pas de regarder certains échantillons comme une vérification de santé mentale si vous en avez quelques-uns facilement disponibles. – sipwiz

0

Depuis entité STE ne prend pas en charge le chargement paresseux, vous devez utiliser inclure sur le côté serveur incluent des propriétés connexes. Il n'y a aucun moyen d'inclure toutes les propriétés de navigation associées. Vous devez inclure explicitement les propriétés. par exemple // côté serveur customer.Include ("Orders.OrderDetails"). Include ("Address")