相关疑难解决方法(0)

带有SQL Server 2012的Entity Framework 6提供了System.Data.Entity.Core.ProviderIncompatibleException

我有Visual Studio 2012,我正在使用EF 6的实体框架堆栈.我做的都是正确的但是在添加迁移时我收到了错误.

System.Data.Entity.Core.ProviderIncompatibleException

这是课程

public class Order
{
    public virtual int OrderID { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

上下文文件

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);
    }
Run Code Online (Sandbox Code Playgroud)

和connctionstring的web.config文件部分

<connectionStrings>
   <add name="ShoppingCartDb" 
        connectionString="Server=Localhost;Database=ShoppingCartEfDb;User Id=sa;Password=xxxxxxxxxx" 
        providerName="System.Data.SqlClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)

每当我尝试添加迁移时,我都会收到错误:

System.Data.Entity.Core.ProviderIncompatibleException:从数据库获取提供程序信息时发生错误.这可能是由实体框架使用不正确的连接字符串引起的.检查内部异常以获取详细信息,并确保连接字符串正确.---> System.Data.Entity.Core.ProviderIncompatibleException:提供程序未返回ProviderManifestToken字符串.--->

System.Data.SqlClient.SqlException:建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.验证实例名称是否正确,以及SQL Server是否配置为允许远程连接.(提供程序:SQL网络接口,错误:26 - 查找指定的服务器/实例时出错)

sql-server-2012 entity-framework-6

7
推荐指数
1
解决办法
6019
查看次数