2011-07-17 1 views
1

Quelqu'un peut-il clarifier ma pensée sur le code de correction d'association dans Entity Framework (POCO générés par T4), s'il vous plaît?Dois-je supprimer le code Association Fixup de mon modèle Entity Framework T4?

Un commentaire récent concernant le correctif stipulait «Par exemple, code-first ne les utilise pas et tout fonctionne toujours». Je suis un peu confus sur ce truc de réparation - semble que personne ne l'aime - Je n'aime certainement pas polluer mes POCOs (bien que ma raison soit en raison de problèmes de performance) mais il n'est pas clair pour moi dans quels scénarios aurais-je vraiment besoin. Si j'utilise des durées de vie de contexte de données éphémères, c'est-à-dire un nouveau contexte pour chaque demande de page (UoW) dans une application ASP.NET, alors devrais-je m'inquiéter si je devais supprimer tout le code de correction d'association à partir du gabarit T4 (enfin de beaux POCO propres)?

EDIT

J'ai trouvé cette discussion sur MSDN 'Fixup devient fou', qui fournit des éclaircissements: http://social.msdn.microsoft.com/Forums/pl-PL/adodotnetentityframework/thread/a757d1fb-1339-422e-a03a-2b90ce4cd692

+0

Qui est @Ladislav? Nous nous attendons à ce que les questions puissent être isolées ici. –

+0

oui vous avez tout à fait raison - c'est juste que pour toute question que j'ai lu concernant EF, semble ce gars répond toujours! Je comprends que beaucoup de gens peuvent répondre à cette question. Je vais éditer ma question. Mon erreur. –

Répondre

2

Fix up est juste un code généré par modèle T4. EF n'en a pas besoin du tout et EF ne l'utilise pas. L'équipe ADO.NET a supposé que les POCO devraient être intelligents et corriger leurs propriétés de navigation si vous les changiez d'un côté. Si vous écrivez vos entités manuellement au lieu d'utiliser le modèle T4 et que vous omettez toute logique de correction, cela fonctionnera toujours. C'est aussi la raison pour laquelle vous n'avez pas besoin de correctifs dans le code en premier.

Vous pouvez modifier votre modèle T4 et supprimer toute la logique de correction.

+0

Merci @Ladislav. J'apprécierai enlever toutes les preuves du code de correction :-) –

Questions connexes