2009-07-14 10 views
2

J'ai travaillé sur un projet où j'ai utilisé LinqToSQL qui impliquait beaucoup de tables. Tous ceux-ci ont été mappés dans un fichier .dbml (c'est-à-dire un seul DataContext). Je l'ai fait sous prétexte que (actuellement) vous ne pouvez pas rejoindre plusieurs contextes de données. Par exemple ...LinqToSQL - mappant le DataContext avec beaucoup de tables?

DB1DataContext db1 = new DB1DataContext(); 
DB2DataContext db2 = new DB2DataContext(); 

var query = 
    from x in db1.SomeTable 
    join y in db2.AnotherTable on x.Id equals y.Id 
    select new 
    { 
     x.Column, 
     y.Column 
    }; 

Quelqu'un a fait valoir que ce n'est pas, et je briser le fichier .dbml vers le bas dans les petits séparés (i.e. plus managable) contextes de données. Je suis maintenant juste mis en place un exemple, exécutez une requête similaire à celui ci-dessus et obtenu l'erreur suivante ...

base de

{} = {System.SystemException "La requête contient références à des éléments définis dans un contexte de données différent. "}

Je suis curieux, ai-je oublié quelque chose? Quelles sont les pratiques courantes où il y a beaucoup de tables qui nécessitent une cartographie? Comment pouvez-vous décomposer un fichier .dbml?

Répondre

Questions connexes