#entity-framework-4.1 #entity #ef-code-first
#entity-framework-4.1 #объект #ef-code-first
Вопрос:
Используя Entity 4.1 для проекта, и не смог выяснить, где файл DB был сохранен внутри моего проекта.
Кажется, я читал, что Entity code first по-прежнему будет хранить ваши данные в SQL Express DB в расположении по умолчанию, но не смог узнать, где оно находится.
Что я сделал, так это:
-
создайте проект Entity DB (проект A) в моем решении этот проект будет иметь инициализатор для генерации образцов данных для тестирования.
-
Я также создаю отдельный проект (проект B), чтобы сохранить первые данные моего кода объекта для тестирования другим приложением.
-
Затем я создаю другой проект WinForm (проект C) в том же решении и получаю доступ к DbContext из проекта A.
Я бы предположил, что БД должна быть где-то в моем проекте C, а тестовые проекты в решении не должны иметь значения?
Ответ №1:
При установке SQL Server Express по умолчанию и отсутствии строки подключения база данных будет создана в каталоге ДАННЫХ установки, например, что-то вроде: C:Program FilesMicrosoft SQL ServerMSSQL10_50.SQLEXPRESSMSSQLDATA
(для версии 2008 R2). Имя базы namespace.contextname
данных, например: MyNamespace.MyContext.mdf
(и .ldf) . Под этим именем вы также можете найти их в SQL Server Management Studio.
Комментарии:
1. спасибо, я нашел его по указанному вами пути, единственное отличие в том, что я изменил свой SQL Server на другое имя. Я должен найти его раньше, если я использую VS DB Server Explorer. Не уверен, почему, но я предполагал, что Entity Code first создаст локальный файл БД в моем проекте, но не создаст БД на моем сервере SQL по умолчанию. Да, почему сущность автоматически создает БД для меня на моем локальном сервере SQL?
Ответ №2:
Я знаю, что это древняя тема, охватывающая другой сценарий, но Google направил меня сюда, когда я пытался разобраться в этом для приложения UWP, поэтому, если кто-нибудь пойдет по моим стопам, вот мое решение.
Если вы используете entity с sqlite в приложении Windows, ваш файл базы данных, скорее всего, будет создан в «рабочем каталоге» вашего приложения. В этом случае это:
C:Users<Username>LocalPackages{Package-Name}LocalState
вы можете найти свой {Package-Name}, заглянув в манифест приложения. Вероятно, по умолчанию это будет длинная строка цифр и букв.