2010-10-12 1 views
0

mon application utilise WPF pour l'interface utilisateur, WCF pour WebService, EF4 pour DataAccess. J'ai lu quelques matériaux d'Internet et msdn que EF4 a la fonction d'auto-suivi utilisant le modèle T4 fait sur commande même si employant ensemble avec WCF pour plus. Cela signifie-t-il que la fonction de chargement paresseux est toujours possible avec WCF?Est-il possible d'utiliser la fonction de chargement paresseux dans EntityFramework4 en conjonction avec WCF?

Merci

+1

Voulez-vous * vraiment * que les objets clients soient chargés par chargement à partir du serveur? Cela semble être une recette pour un désastre. –

Répondre

0

Les entités Self-Tracking sont un peu hacky, à mon humble avis. Ils sont conçus de telle sorte que, une fois désérialisés (c'est-à-dire à l'autre extrémité de votre canal WCF), ils commencent à suivre les changements eux-mêmes. C'est génial pour quand vous les renvoyez à la maison, parce que vous pouvez les reconnecter à un contexte et tout fonctionne (hypothétiquement).

L'auto-suivi et le chargement paresseux sont deux choses différentes. Les entités d'auto-suivi EF sont déconnectées du contexte de données et, à votre extrémité client, il n'y a pas de contexte de données. Donc, ils ne peuvent rien charger paresseusement.

Il n'y a pas de framework plug-and-play mélangeant WCF et EF qui, du point de vue du client, est transparent. Pourrait être fait, bien sûr. Quelques nouveaux modèles T4 et vous aurez un contrat de service WCF autogénéré que vos entités pourraient utiliser pour effectuer un chargement paresseux.

Bien sûr, vous devriez écrire cela. À la réflexion, vous pourriez avoir plus de chance avec WCF Data Services.