У меня есть приложение, работающее на ASP.NET MVC 3 с Entity Framework Code First. В процессе разработки я использовал базу данных SQL Compact, однако, перенося ее на свой виртуальный сервер, я пытаюсь настроить таргетинг на SQL Express.
Первоначально были проблемы, связанные с ошибкой «CREATE DATABASE in master», которую я нашел, извлекая модель из базы данных SQL Compact в сценарий SQL и выполняя ее на сервере для создания БД.
Я создал новую строку подключения для указания на экземпляр SQL Express, который использует формат EF:
<add name="LouiseClarkEntities" connectionString="metadata=res://*/Models.LouiseClark.csdl|res://*/Models.LouiseClark.ssdl|res://*/Models.LouiseClark.msl;provider=System.Data.EntityClient;provider connection string="Data Source=.\SQLEXPRESS; Initial Catalog=LouiseClark; User ID=<username>; Password=<password>"" providerName="System.Data.EntityClient" />
Ошибка, которую я сейчас получаю при переходе на страницу, которая использует БД:
Unable to find the requested .Net Framework Data Provider. It may not be installed.
Я установил Entity Framework 4.1 на сервере, чтобы попытаться выяснить, решит ли это проблему, но, похоже, она не принесла больших результатов.
Фрагмент из трассировки стека на странице ошибки:
[ArgumentException: Unable to find the requested .Net Framework Data Provider. It may not be installed.]
System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName) +1420567
System.Data.EntityClient.EntityConnection.GetFactory(String providerString) +35
[ArgumentException: The specified store provider cannot be found in the configuration, or is not valid.]
Буду признателен за любую помощь, так как это беспокоит меня уже несколько дней!
Спасибо
Chris