Entity Framework 6 с SQL Server 2012 предоставляет System.Data.Entity.Core.ProviderIncompatibleException

entity-framework-6 sql-server-2012

Вопрос

У меня есть Visual Studio 2012, и я использую стек Entity Framework с EF 6. Я сделал все правильно, но при добавлении миграции я получаю сообщение об ошибке.

System.Data.Entity.Core.ProviderIncompatibleException

Вот классы

public class Order
{
    public virtual int OrderID { get; set; }
}

Файл контекста

public ShoppingCartContext() : base("ShoppingCartDb")
{
        Database.SetInitializer<ShoppingCartContext>(new DropCreateDatabaseAlways<ShoppingCartContext>());
}

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
        #region Entity Framework 6 RC-1
        modelBuilder.Properties().Where(x => x.Name == x.DeclaringType.ToString() + "ID")
                .Configure(x => x.IsKey());

        modelBuilder.Properties<DateTime>()
                .Configure(x => x.HasColumnType("datetime2"));
        #endregion

        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
        base.OnModelCreating(modelBuilder);
    }

И раздел файла web.config для connctionstring

<connectionStrings>
   <add name="ShoppingCartDb" 
        connectionString="Server=Localhost;Database=ShoppingCartEfDb;User Id=sa;Password=xxxxxxxxxx" 
        providerName="System.Data.SqlClient" />
</connectionStrings>

Я получаю ошибку всякий раз, когда я пытаюсь добавить миграцию как:

System.Data.Entity.Core.ProviderIncompatibleException: Произошла ошибка при получении информации о поставщике из базы данных. Это может быть вызвано Entity Framework с использованием неправильной строки подключения. Проверьте внутренние исключения и проверьте правильность строки подключения. ---> System.Data.Entity.Core.ProviderIncompatibleException: поставщик не вернул строку ProviderManifestToken. --->

System.Data.SqlClient.SqlException: при установлении соединения с SQL Server возникла связанная с сетью или специфичная для экземпляра ошибка. Сервер не найден или не был доступен. Проверьте правильность имени экземпляра и настройте SQL Server для удаленного подключения. (поставщик: сетевые интерфейсы SQL, ошибка: 26 - ошибка определения местоположения сервера / экземпляра)

Принятый ответ

Попробуй это. Убедитесь, что проект, в котором находится ваш ShoppingCartContext, является проектом запуска или при выполнении команды add-migration включает параметр -startupprojectname ex. add-migration -startupprojectname yourprojectname



Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему