LinqToSQL - отображение DataContext с большим количеством таблиц? - PullRequest
2 голосов
/ 14 июля 2009

Я работал над проектом, в котором я использовал LinqToSQL, который включал множество таблиц. Все они отображаются в одном .dbml файле (т.е. только в одном DataContext). Я сделал это под тем предлогом, что (в настоящее время) вы не можете объединить несколько контекстов данных. Например ...

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
    };

Кто-то утверждал, что это не так, и я должен разбить файл .dbml на отдельные более мелкие (т.е. более управляемые) контексты данных. Я только что создал пример, запустил запрос, аналогичный приведенному выше, и получил следующую ошибку ...

base {System.SystemException} = {"The запрос содержит ссылки на элементы определено в другом контексте данных. "}

Мне любопытно, я что-то упустил? Каковы общие практики, когда существует много таблиц, которые требуют отображения? Как вы можете сломать файл .dbml?

1 Ответ

3 голосов
/ 14 июля 2009
...