LinqToSQL - отображение DataContext с большим количеством таблиц?

2

Я работал над проектом, в котором я использовал 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} = { "запрос содержит ссылки на элементы определенных в другом контексте данных." }

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

Теги:
linq-to-sql
datacontext

1 ответ

3
Лучший ответ

Это было задано несколько раз здесь, и нет определенного ответа. Проверьте следующие вопросы:

Некоторые ответы относятся к этому сообщению в блоге: Срок службы LINQ to SQL DataContext

Ещё вопросы

Сообщество Overcoder
Наверх
Меню