Bonjour à tous,
Je viens de mettre au point mon site de vente selon le tutoriel suivant :
mvc-music-store
Que l'on peut retrouver sur Microsoft ici :
mvc-music-store
J'ai donc créé un nouveau projet à partir de Visual Studio 2017 et le résultat est super fonctionnel, donc tout va bien.
J'envisage maintenant de le développer sur mon site existant avec le même Framework 4.7 (qui fonctionne déjà avec Mysql) et là au niveau du HomeController j'obtiens le message suivant :

System.Data.Entity.Core.ProviderIncompatibleException :
'Le fournisseur n'a pas renvoyé la chaîne ProviderManifestToken.'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
   private List<Album> GetTopSellingAlbums(int count)
        {
            // Regroupe les détails de la commande par album et
            // renvoie les albums avec le nombre le plus élevé 
 
            return storeDB.Albums
                .OrderByDescending(a => a.OrderDetails.Count())
                .Take(count)
                .ToList();
        }
J'ai bien dans mon Global.asax.cs le lancement des deux Db...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
   protected void Application_Start()
        {
            DbConfiguration.SetConfiguration(new MySqlEFConfiguration()); // fait référence à Mysql
 
            Database.SetInitializer(new SampleData());
Et ceci dans le Web.confg :

Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
  <connectionStrings>
 
    <!-- ******** Serveur de production ********   -->
 
   <add name="Site_LsB_MVCEntities" providerName="System.Data.SqlServerCe.4.0" connectionString="Data Source=|DataDirectory|Site_LsB_MVC.sdf;"  />
 
 
    <add name="DefaultConnection" providerName="MySql.Data.MySqlClient" connectionString="server=localhost;port=***;database=_Bdd_MVC_Photo;userid=Bdd_MVC_Photo;password=****;persistsecurityinfo=True" />
    <add name="TypeVisiteur" providerName="MySql.Data.MySqlClient" connectionString="server=localhost;port=****;database=_Visiteurs;userid=Bdd_MVC_Visiteur;password=****;persistsecurityinfo=True" />
  </connectionStrings>

J'ai testé ceci sans résultat :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 <add name="Site_LsB_MVCEntities"
		   connectionString="Data Source=.;Initial Catalog=Site_LsB_MVC;Integrated Security=SSPI"
		   providerName="System.Data.SqlClient"/>
Les deux config séparément fonctionne bien, mais il y a un souci lorsqu’elles sont réunies...

Comment résoudre cette problématique, serait-ce à cause du Provider ?
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
   <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="System.Data.SqlServerCe.4.0" />
      </parameters>
    </defaultConnectionFactory>
 
    <providers>
 
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
      <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.10.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
      <provider invariantName="System.Data.SqlServerCe.4.0" type="System.Data.Entity.SqlServerCompact.SqlCeProviderServices, EntityFramework.SqlServerCompact" />
    </providers>
  </entityFramework>

Pour le coup j’ai besoin d’un pro en la matière.

Par avance, merci.