2009-07-24 7 views
0

Je suis curieux de connaître dbml .... Dois-je créer un fichier dbml pour une base de données ou séparé en différentes parties, par exemple. User dbml (seuls les tableaux concernent les utilisateurs) etc? Quand je fais cela, je vais avoir des problèmes. Supposons que l'utilisateur dbml possède une table User et que si le dbml Order possède également une table User, cela ne sera pas autorisé si l'espace de noms d'entité est le même. Si j'ai défini un espace de nom d'entité différent pour chacun des dbml, cela fonctionne mais cela me donnera une entité différente de la table User. Lorsqu'une seule donnée retourne à la couche logique métier, il est difficile de savoir quel espace de noms d'entité de la table utilisateur doit être utilisé.Linq à Sql Classe de données en dbml

Si je construis un fichier dbml au lieu d'avoir un dbml séparé, dbml apparaîtra plus lent que la version dbml séparée lors de l'extraction des données de la base de données. Linq to SQL est conçu pour être utilisé avec un seul objet Contexte de données.

+1

Voir aussi http://stackoverflow.com/questions/1127283/linqtosql-mapping-out-the-datacontext-with-lots-of-tables –

Répondre

1

vie d'un LINQ to SQL DataContext
http://blogs.msdn.com/dinesh.kulkarni/archive/2008/04/27/lifetime-of-a-linq-to-sql-datacontext.aspx

Le tutoriel NerdDinner a un très bon exemple de Linq typique à l'utilisation de SQL, en utilisant un modèle référentiel. Dans tous les cas, les objets du référentiel utilisent un seul objet de contexte de données pour effectuer le travail:

http://nerddinnerbook.s3.amazonaws.com/Part3.htm

Ce que vous essayez de faire semble que cela pourrait être plus approprié pour l'Entity Framework. Soyez avisé, cependant, que Entity Framework a quelques problèmes dans sa version actuelle, en particulier en ce qui concerne le chargement paresseux.

Questions connexes