2013-09-03 32 views
7

Possiedo Visual Studio 2012 e sto utilizzando lo stack Entity Framework con EF 6. Ho fatto tutto correttamente ma durante l'aggiunta della migrazione sto ottenendo il erroreEntity Framework 6 con SQL Server 2012 fornisce System.Data.Entity.Core.ProviderIncompatibleException

System.Data.Entity.Core.ProviderIncompatibleException

Qui ci sono le classi

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

Il file di contesto

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); 
    } 

e la sezione del file web.config per connctionstring

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

sto ottenendo l'errore ogni volta Ci sto provando g per aggiungere la migrazione come:

System.Data.Entity.Core.ProviderIncompatibleException: An error occurred while getting provider information from the database. This can be caused by Entity Framework using an incorrect connection string. Check the inner exceptions for details and ensure that the connection string is correct. ---> System.Data.Entity.Core.ProviderIncompatibleException: The provider did not return a ProviderManifestToken string. --->

System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

+2

Non dovresti usare 'base (" nome = ShoppingCartDb ")' invece di 'base (" ShoppingCartDb ")'? – Pawel

risposta

21

Prova questa. Assicurati che il progetto in cui si trova ShoppingCartContext, sia il progetto di avvio o quando si esegua il comando add-migration includa il parametro -startupprojectname ex. add-migration -startupprojectname yourprojectname

+1

L'impostazione del progetto WebApi come "Progetto di avvio" è stata la soluzione al mio problema. Buona pesca! – ilter

Problemi correlati