2009-05-07 1 views
4

Моя стратегия заключалась в том, чтобы сохранить макет проекта в чистоте. Учитывая, что это проект datalayer, и у меня будет файл класса для каждого связанного объекта, я подумал, что поместил бы .dbml в свой собственный каталог. Оказывается, размещение вашего файла .dbml в подкаталоге превращает его в более низкое пространство имен типов.Visual Studio и LINQ: размещение DBML-файла в отдельной директории в проекте

Это проект библиотеки классов C#.

Любые подсказки, в которых я могу отключить эту функцию, и получить доступ к имени datacontext dqacontext LinqToSql без необходимости вводить имя каталога, чтобы получить доступ к фактическим классам LinqToSql?

ответ

9

Оказывается, вам нужно найти свойства вашего DBML на холсте дизайна LinqToSql.

  • Щелкните правой кнопкой мыши -> Свойства Найдите контекстное пространство имен.
  • Введите пространство имен, в котором вы хотите, чтобы ваши классы DataContext были доступны.
  • Справа внизу найдите пространство имен Entity.
  • Выполните те же

ReSharper Пользователь: у вас есть возможность просмотреть свойства подкаталога вашего DBML, и установить атрибут пространства имен там.

3

Если вы идете в каталог в вашем решении и просмотре свойств этого каталога вы увидите атрибут: поставщик пространства имен = истина

Установить это ложное

После этого вы можете обновить пространство имен сопоставьте корневое пространство имен в вашем файле DBML. Теперь, когда вы добавляете новые файлы dbml, он будет хранить пространство имен на основе корневой папки.

+1

Хммм .... где я могу увидеть этот атрибут? Когда я нажимаю на подпапку в моем проекте библиотеки классов, все, что я вижу в окне «Свойства», это «Имя папки». VS 2008 SP1 –

+1

Интересно, я использую VS 2008 SP1, и у меня есть имя папки и поставщик пространства имен ... У меня есть установленный resharper, интересно, добавило ли это ... – CodeLikeBeaker