Может ли 'Не помещать мою БД в поле'App_Data'повлиять на работу Linq2Sql?
У меня проблема при работе со всеми моими проектами. Я не получаю Intellisense с Linq2Sql, и когда я пишу частичные классы в папке модели, свойства, созданные конструктором Linq2Sql, не распознаются частичными классами. Итак, я пытаюсь исключить все возможные источники проблемы.
У меня есть 2 случая: (I) создать файл.mdf в App_Data и (2) создать файл .dbo в SQL EXPRESS 2005. Теперь, когда я создаю файл DataContext (путем перетаскивания таблиц в конструкторе), есть ли будет работать так же? Или мне нужно ожидать непредвиденного поведения?
Спасибо
1 ответ
App_Data используется только в приложениях ASP.NET и предназначен только для хранения физического файла базы данных (рабочий процесс ASP.NET всегда имеет доступ на чтение / запись к этой папке). Для обычных приложений вы должны удалить любой файл базы данных в общих местах, на которые у всех есть права (или у всех, кто использует приложение).
Поместите ваш DBML (файлклассов linq в sql) в подпапку вашего проекта, где это имеет смысл по отношению к пространству имен. Например, вы бы поместили его в MyApp/Data или MyApp/Repository или MyApp/Models и т. Д.
В конструкторе.dbml проверьте окно инструмента свойств и убедитесь, что вы указали имя и пространство имен для контекста данных и сущностей. Частичные классы вашей сущности ДОЛЖНЫ быть в одном и том же пространстве имен, иначе компилятор не узнает, как их собрать.