Visual Studio и LINQ: размещение файла DBML в отдельном каталоге в проекте - PullRequest
4 голосов
/ 07 мая 2009

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

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

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

Ответы [ 2 ]

9 голосов
/ 07 мая 2009

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

  • Щелкните правой кнопкой мыши -> Свойства. Найдите пространство имен контекста.
  • Введите пространство имен, в котором ожидаются классы DataContext, доступные в.
  • Справа внизу найдите пространство имен сущности.
  • сделать то же самое

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

3 голосов
/ 07 мая 2009

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

Установите значение false

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

...