2015-09-18 2 views
-2

Я использую рамки сущности (базы данных) и первый, когда я запускаю свою программу, я получаю эту ошибку:DbContext ошибка

The context is being used in Code First mode with code that was generated from an EDMX file for either Database First or Model First development. This will not work correctly. To fix this problem do not remove the line of code that throws this exception. If you wish to use Database First or Model First, then make sure that the Entity Framework connection string is included in the app.config or web.config of the start-up project. If you are creating your own DbConnection, then make sure that it is an EntityConnection and not some other type of DbConnection, and that you pass it to one of the base DbContext constructors that take a DbConnection. To learn more about Code First, Database First, and Model First see the Entity Framework documentation here: http://go.microsoft.com/fwlink/?LinkId=394715

Моя строка соединения:

<connectionStrings> 
    <add name="PayRollContext" 
    connectionString="Data Source=ATI_SHAH\SQLEXPRESS;Initial Catalog=PayRollManagmentSystem;Integrated Security=True;" 
    providerName="System.Data.SqlClient" /> 
    </connectionStrings> 

я искал эту ошибку но я этого не понимаю.

+0

Что вы не понимаете? Строка соединения, которую вы показываете, не является строкой соединения EDMX. – CodeCaster

+0

так что я могу сделать? –

+0

Исправьте строку подключения ... Удалите ее из конфигурации и обновите свой EDMX. Появится всплывающее окно, в котором вы можете восстановить строку соединения. – CodeCaster

ответ

0

У вас есть несколько контекстов? Если вы используете соединение через два или более контекста, это не сработает. Однако, если вы используете другое соединение, то оно будет работать.

+0

нет у меня есть только один контекст –

0

Строка подключения у вас есть не для базы данных первого рабочего процесса. Он фактически используется для первого рабочего процесса кода. Обычно для базы данных сначала вам не нужно самостоятельно изменять строку подключения (все это делается через конструктор).

Вот правильный формат строки подключения используется в базе данных первого процесса:

<connectionStrings> 
    <add name="PayRollContext" 
     connectionString="metadata=res://*/model.csdl|res://*/model.ssdl|res://*/model.msl;provider connection string=&quot;Data Source=ATI_SHAH\SQLEXPRESS;Initial Catalog=PayRollManagmentSystem;Integrated Security=True;&quot;" 
     providerName="System.Data.EntityClient" /> 
</connectionStrings> 

Я предполагаю, что ваш файл edmx является model.edmx

Я думаю, вы должны следовать инструкциям мастера импортируя модели из базы данных снова, чтобы понять, как это работает.

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