1

Я новичок в SQL Server Express (не для SQL Server в целом), и у меня есть проблема. Я использую Entity Framework (6-бета) в приложении ASP.NET MVC.SQL Server Express и Entity Framework

Я создал базу данных с помощью SQL Server Management Studio. Я могу подключиться к БД с помощью Management Studio и моей локальной учетной записи пользователя Windows. я dind't изменить конфигурацию по умолчанию, так что SQL Server хранит файлы данных в:

C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA 

.mdf файл моей базы данных хранится в этой папке.

Моя проблема: при запуске приложения MVC из Visual Studio Entity Framework не удается открыть соединение с базой данных. Текст исключения вполне unprecise, но внутреннее исключение показывает, что он пытается подключиться к:

C:\Users\<MyUser>\Workspaces\<Solution>\<Project>\App_Data\<Context>.mdf 

строки подключения Жу:

"Data Source=.\SQLEXPRESS; Initial Catalog=<Name>; User Instance=False; Integrated Security=True;" 

Кто-нибудь знает, почему Entity Framework пытается подключиться к этому файлу ? Что я могу сделать?

ответ

1

Ok. Я нашел проблему. Я отредактировал неправильный файл web.config случайно. Asp.Net MVC 5 создает второй файл web.config в папке «Представления». Конечно, строка подключения должна быть вставлена ​​в файл web.config корневой папки.

1

Вам нужна запись web.config в проекте приложения MVC (в случае, если DBContext находится в другом проекте, на который делается ссылка).

В файле web.config должна быть запись, подобная приведенной ниже в разделе connectionstrings (обратите внимание, что YOURCONTEXTNAME должно соответствовать имени вашего класса DBContext).

<add name="YOURCONTEXTNAME" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=YOURDATABASENAME;Integrated Security=SSPI" 
     providerName="System.Data.SqlClient" /> 
+0

ОК. Я думал, что это очевидно ... Я использую web.config в моем проекте Asp.Net. Имя строки подключения соответствует классу DbContext. – makzr

Смежные вопросы