Comment résoudre Avertissement: L'élément 'entityFramework' a des 'fournisseurs' d'éléments enfants invalides. Liste des éléments attendus: "contextes"

Je suis en train de jouer autour avec EF différents flux de travail. Hier, j'ai fait un nouveau projet et Entity Framework 6 a été la première suggestion de Nuget j'ai donc décidé de lui donner un essai, il est aussi un très petit projet entièrement à des fins d'apprentissage, donc je suppose que ce sera une bonne expérience pour essayer EF 6 depuis, j'ai travaillé principalement avec Ef 5.

Mon Application est basée sur Code First approche. La structure de la solution est indiquée dans l'écran d'impression:

Comment résoudre Avertissement: L'élément 'entityFramework' a des 'fournisseurs' d'éléments enfants invalides. Liste des éléments attendus:

Le projet CodeFirstClasses est destiné à contenir mes Entités. À des fins de simplicité et parce que j'ai suivi un tutoriel, je vais utiliser une seule classe comme vous pouvez le voir - Customer.cs. Là, j'ai :

public class RewardContext : DbContext
    { 
        //Specify the name of the base as Rewards
        public RewardContext() : base("Rewards")
        { 
        }

        //Create a database set for each data item
        public DbSet<Purchase> Purchases { get; set; }
        public DbSet<Customer> Customers { get; set; }

    }

Et les autres classes - Purchase et Customer qui sont triviales, donc je ne vais pas les coller ici.

L'autre projet comme vous pouvez le voir, c'est Windows Forms projet avec juste un formulaire et un bouton. Sur le click cas de bouton j'ai de la logique pour l'ajout de nouveaux enregistrements à mes deux entités codé en dur. Voici une partie de celui-ci:

    //some code...
    //Add the record and save it
    context.Customers.Add(newCustomer);
    context.Purchases.Add(newPurchase);
    context.SaveChanges();

    MessageBox.Show("Record Added!");

Pour l'instant rien de différent de ce que je suis habitué avec EF 5. Je peux construire le projet, je peux le faire tourner, et tout est exécuté comme prévu. Mais j'ai cet avertissement dans le titre :

Warning 1 The element 'entityFramework' has invalid child element 'providers'. List of possible elements expected: 'contexts'. Et même si je suis en utilisant principalement MS SQL Server Management Studio j'ai remarqué que je ne suis pas capable de gérer mes connexions/bases de données à partir de l'IDE - Visual Studio 2012mais ce n'était pas un problème avec EF 5.

Mes recherches rétréci vers le bas de la source possible du problème ou de la solution de modifier manuellement les App.config fichier, mais c'est un domaine où je n'ai pas beaucoup d'expérience, surtout lorsque l'IDE a pris soin d'elle jusqu'à ce que EF 6. Donc je vais poster mes deux App.config fichiers pour cette solution :

L'un de l' CodeFirstClasses projet :

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
</configuration>

Et de mon TestCodeFirst projet:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
</configuration>

Et l'autre solution que j'ai trouvé est : updating the xsd for "validating" EF config section in web/app.config file to recognize newly added EF6 elements qui je ne suis pas conscient de exactement comment le faire.

Même si, quand j'ouvre le MS SQL Server Management Studio je vois la base de données créée pour cette application, les enregistrements sont sauvegardés et généralement, il semble que le travail, mais pourtant, je voudrais résoudre cet avertissement et d'obtenir pour savoir comment configurer mon applications basées sur EF 6 droit.

source d'informationauteur Leron