2012-09-18 4 views
1

Je voudrais savoir comment les gens gèrent le fichier dbml de façon plus évolutive?Comment organiser le fichier DataClasses.dbml

Avez-vous un seul DataClasses1.dbml et faites-y glisser chaque table?

Avez-vous des fichiers distincts pour des regroupements logiques distincts, par exemple Comptes, RH? Si oui, comment voyez-vous visuellement les relations de clé étrangère lorsqu'une table a des liens vers une table dans un autre fichier dbml?

Merci.

Répondre

1

mieux sera d'utiliser un seul fichier DBML pour toutes vos tables, afin que vous puissiez voir tous vos relations à savoir Foreign Key etc tout together..But son dépend de votre exigence tout à fait ..

1

En utilisant Entity Framework (idem pour linq-to-sql) J'aime utiliser des classes de contexte séparées pour des parties distinctes de la base de données.

Mais qu'est-ce que "distinct"?

Dans la plupart des cas, tout ce qui est lié au cœur de métier d'une application est trop interrelié pour qu'un contexte distinct soit significatif. Mais presque toutes les applications ont des tâches latérales comme l'autorisation, la traduction, l'audit, etc. Ce sont de bons candidats pour des contextes distincts.

Il y aura toujours des connexions à la logique métier. Comme vous le savez probablement, vous ne pouvez pas joindre des classes de contextes séparés d'une manière telle que la jointure est traduite en SQL. Seulement en mémoire. Il est donc utile de dupliquer certaines entités dans plusieurs contextes. Ainsi, par exemple, le contexte métier et le contexte d'autorisation contiendront User entités. Un contexte devrait être responsable de la maintenance de l'entité et l'autre (s) devrait l'utiliser en lecture seule.

Modifier

par duplication des entités Je veux dire que deux (ou plus) des contextes peuvent avoir une entité qui correspond à la même table dans la base de données. Comme User. Si vous le souhaitez, le contexte métier peut être la création et la mise à jour d'utilisateurs, le contexte d'autorisation est (par exemple) pour ajouter des rôles à un utilisateur spécifique, sans modifier l'utilisateur lui-même.

+0

Merci. Pouvez-vous élaborer un peu sur la duplication des entités. –