Entity Framework 6 avec SQL Server 2012 donne une exception System.Data.Entity.Core.ProviderIncompatibleException

entity-framework-6 sql-server-2012

Question

J'ai Visual Studio 2012 et j'utilise la pile Entity Framework avec EF 6. J'ai tout fait correctement mais, en ajoutant une migration, je reçois le message d'erreur.

System.Data.Entity.Core.ProviderIncompatibleException

Voici les cours

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

Le fichier de contexte

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

Et la section de fichier web.config pour connctionstring

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

Je reçois le message d'erreur chaque fois que j'essaie d'ajouter une migration en tant que:

System.Data.Entity.Core.ProviderIncompatibleException: une erreur s'est produite lors de l'obtention des informations sur le fournisseur de la base de données. Cela peut être dû à Entity Framework utilisant une chaîne de connexion incorrecte. Vérifiez les exceptions internes pour plus de détails et assurez-vous que la chaîne de connexion est correcte. ---> System.Data.Entity.Core.ProviderIncompatibleException: le fournisseur n'a pas renvoyé de chaîne ProviderManifestToken. --->

System.Data.SqlClient.SqlException: une erreur liée au réseau ou spécifique à une instance s'est produite lors de l'établissement d'une connexion à SQL Server. Le serveur est introuvable ou inaccessible. Vérifiez que le nom de l'instance est correct et que SQL Server est configuré pour autoriser les connexions à distance. (fournisseur: Interfaces réseau SQL, erreur: 26 - Erreur lors de la localisation du serveur / instance spécifiée)

Réponse acceptée

Essaye ça. Assurez-vous que le projet dans lequel se trouve votre ShoppingCartContext est le projet de démarrage ou lors de l'exécution de la commande add-migration, incluez le paramètre -startupprojectname ex. add-migration -startupprojectname votreprojet



Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow