Может ли 'Не помещать мою БД в поле' App_Data 'повлиять на работу Linq2Sql? - PullRequest
0 голосов
/ 30 ноября 2009

У меня возникла проблема при работе со всеми моими проектами. Я не получаю Intellisense с Linq2Sql, и когда я пишу частичные классы в папке модели, свойства, созданные конструктором Linq2Sql, не распознаются частичными классами. Итак, я пытаюсь исключить все возможные источники проблемы.

У меня есть 2 случая: (i) создать файл .mdf в App_Data и (2) создать файл .dbo в SQL EXPRESS 2005. Теперь, когда я создаю Файл DataContext (путем перетаскивания таблиц в конструкторе), будет ли работать так же? Или мне нужно ожидать непредвиденного поведения?

Спасибо

1 Ответ

0 голосов
/ 30 ноября 2009

App_Data используется только в приложениях ASP.NET и предназначен только для хранения физического файла базы данных (рабочий процесс ASP.NET всегда имеет доступ на чтение / запись к этой папке). Для обычных приложений вы должны удалять любой файл базы данных в общих местах, на которые у всех есть права (или у всех, кто использует приложение).

Поместите DBML ( linq to sql classes file) в подпапку вашего проекта, где это имеет смысл по отношению к пространству имен. Например, вы бы поместили его в MyApp / Data или MyApp / Repository или MyApp / Models и т. Д.

В .dbml конструкторе проверьте окно инструмента свойств и убедитесь, что вы указали имя и пространство имен для контекста данных и сущностей. НЕОБХОДИМО, чтобы ваши частичные классы сущности находились в одном и том же пространстве имен, иначе компилятор не узнает, как их собрать.

...