2009-11-25 5 views
0

J'ai une table Users, une table Events et un mapping de UserEvents. Dans certaines parties de mon code, j'ai juste besoin de choses basées sur l'utilisateur. Dans d'autres parties, j'ai besoin de toutes ces informations. (Surtout: pour un utilisateur, quels sont les détails de chaque événement auquel il est abonné?)Référentiels Linq2sql simples ou multiples

Si j'ai un référentiel uniquement pour les utilisateurs et un autre pour les utilisateurs + événements + userevents, alors l'objet utilisateur créé automatiquement est dupliqué et le code ne compilera pas jusqu'à ce que je renommer l'un d'entre eux. C'est possible mais gênant. D'un autre côté, si je n'ai qu'un seul référentiel avec les trois tables, quand je veux juste des informations sur l'utilisateur, cela va-t-il être cher à cause de linq qui récupère toutes les données associées avec cet identifiant?

Dans Linq2Sql, est-il plus coûteux si vous avez plus de tables dans un seul dbml/référentiel?

Répondre

1

Linq2Sql utilise un chargement paresseux pour obtenir des informations supplémentaires. Je crois qu'il peut être configuré pour aller chercher tout à la fois, mais ce n'est pas le comportement par défaut. Si vous demandez un utilisateur, vous ne recevrez pas d'événements à moins que vous ne le demandiez spécifiquement.

1

J'ai un projet avec plus de 100 tables dans le dbml, autant que je peux dire que cela n'affecte pas le temps d'instancier la classe datacontext.

Questions connexes