2009-07-24 2 views
0

Я abit интересуюсь dbml .... Должен ли я создать один файл dbml для одной базы данных или разделить на разные части, например. Пользователь dbml (только таблицы относятся к пользователям) и т. Д.? Когда я это сделаю, у меня будут проблемы. Предположим, что в dbml User есть таблица User, и если в dbml Order также есть таблица User, это не будет разрешено, если пространство имен объектов одинаково. Если я установил другое пространство имен объектов для каждого из dbml, оно работает, но это даст мне другую сущность таблицы пользователей. Когда отдельные данные возвращаются к уровню бизнес-логики, существует трудность знать, какое пространство имен объектов используется для таблицы пользователя.Linq to Sql Класс данных в dbml

Если я создал один файл dbml вместо отдельного dbml, будет ли один dbml отображаться медленнее, чем выделенная версия dbml при извлечении данных из базы данных.

+1

См. Также http://stackoverflow.com/questions/1127283/linqtosql-mapping-out-the-datacontext-with-lots-of-tables –

ответ

1

Linq to SQL предназначен для работы с одним объектом Data Context.

Lifetime из LINQ к SQL DataContext
http://blogs.msdn.com/dinesh.kulkarni/archive/2008/04/27/lifetime-of-a-linq-to-sql-datacontext.aspx

NerdDinner учебник имеет довольно хороший пример типичного Linq для использования SQL, используя репозиторий шаблона. Во всех случаях объекты репозитория использовать один объект контекста данных для выполнения работы:

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

То, что вы пытаетесь сделать, кажется, что это может быть более подходящим для Entity Framework. Однако имейте в виду, что в своей нынешней версии Entity Framework есть некоторые проблемы, особенно в отношении ленивой загрузки.

Смежные вопросы