2009-11-06 2 views
0

Есть ли способ указать в соединении данных или LinqToSql Designer схему?Использование схемы, отличной от 'dbo' в конструкторе LinqToSql

Всякий раз, когда я иду установить соединение для передачи данных для LinqToSql, похоже, что не требуется указывать схему, и по умолчанию я получаю «dbo». Я полагаю, что я не могу быть первым человеком, использующим схему, отличную от «dbo» с LinqToSql, поэтому я должен упустить что-то очевидное.

EDIT: Возможно, небольшое разъяснение на порядок. Допустим, что моя база данных такова:

MyDatabase.dbo.Tables 
MyDatabase.MySchema.Tables 

Я могу создать соединение с MyDatabase.dbo (по умолчанию), и, таким образом, получить хороший список таблиц, которые я могу перетащить на дизайнера.

То, что я не могу сделать, это создать соединение с MyDatabase.MySchema, чтобы получить список таблиц и т. Д., Которые я мог бы перетащить к дизайнеру.

ответ

0

В свойствах каждого из классов данных внутри dbml «Источник» обычно указывает на dbo.TableName, вы должны иметь возможность изменить dbo на имя вашей схемы.

Edit:

Если вы говорите, что ваш необходимости строить dataclasses вручную ... затем в дизайнере DBML вы щелкните правой кнопкой мыши и сказать, добавить, затем выберите класса-данных, а затем щелкните правой кнопкой мыши новые DATACLASS и выберите свойства. Внутри окна свойств таблицы данных есть вызов свойства Source with is. именно в этот момент вы укажете имя схемы.

+0

Для каждого класса данных есть атрибут [Таблица (Name = "dbo.Queue")], но изменение этого не помогло бы, потому что я не могу перетащить таблицы из схемы, в которой я хочу, сгенерировать класс данных. – CAbbott

+0

Я думаю, что это меньшее из двух зол. :) Мне просто трудно поверить, что MS не думает, что кто-то захочет получить доступ к схеме, отличной от dbo. – CAbbott

+0

Я не уверен, что мы еще на одной странице. У меня есть 3 производственных приложения, которые используют SQL2005 и имеют схемы, отличные от dbo (CAPS, CSI, SAMS и т. Д.), А в LinqToSql dbml есть моя схема, а не dbo ... – bytebender

0

Попробуйте создать пользователя с другой схемой по умолчанию и установить его в Server Explorer - он отображает все объекты в схеме по умолчанию пользователя (бонус - я видел все объекты dbo, которые пользователь мог видеть, а также (dbo) суффикс).

+0

Спасибо, но это довольно непрактично, чтобы создать новую пользователю просто получить доступ к этой схеме. – CAbbott