none
Probleme de connection avec Asp.net EntityFramework RRS feed

  • Question

  • Bonsoir à tous,

    Je développe actuellement un projet de Base de Données SQL SERVER 2008 avec Entity Framework issue d'un livre de programmation sur C#. j'ai reproduis la BD et suis actuellement confronté à un problème de connexion lors de tentative de sélection de la source de données de ma ListView. Il s'affiche un fenêtre d'avertissement avec ce message: "Les métadonnées spécifiés dans la chaîne de connexion n'ont pas pu être chargées envisagez de régénerer le projet Web des assemblyssusceptibles de contenir des métadonnées Les erreurs suivantes se sont produites:

    Le nom ou le cpde de l'assembly donné n'est pas valide.
    (Exception de HRESULT : 0x80131047)".

    Et lorsque j'essaie de régénérer mon projet, il se produit 27 erreurs dans le fichier AppliMembershipProvider.cs, dont le nom de la class est souligné et affiche ce message au survol de la souris: " LearningCompany.Code.Securite.AppliMembershipProvider n'implémente pas le membre abstract
    hérité 'System.Web.Security.MembershipProviderEnablePasswordRetrieval.get'". Je rappelle que je n'ai pas encore finis le projet, et suis débutant.

    Ma chaine de connexion dans le fichier App.config est la suivante:

    <configuration>
    
    	<connectionStrings>
    		<add name="LearningCompanyEntities" connectionString="metadata=res://*/LearningCompany.csdl|res://*
    			 /LearningCompany.ssdl|res://*/LearningCompany.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=MonServer;
    			 Initial Catalog=LearningCompany;Persist Security Info=True;User ID=sa;
    			 Password=Psswd;Pooling=False;MultipleActiveResultSets=True&quot;
    			 " providerName="System.Data.EntityClient" />
    	</connectionStrings>

    et celle dans le fichier Web.config est la suivante:
    <configuration>
    
    	<connectionStrings>
    		<add name="LearningCompanyEntities" connectionString="metadata=res://*/LearningCompany.csdl|res://*
    			 /LearningCompany.ssdl|res://*/LearningCompany.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=MonServer;
    			 Initial Catalog=LearningCompany;Persist Security Info=True;User ID=sa;
    			 Password=Psswd;Pooling=False;MultipleActiveResultSets=True&quot;
    			 " providerName="System.Data.EntityClient" />
    	</connectionStrings>

    C'est ma 3e nuit de galère, aujourd'hui. Merci de m'aider.

    vendredi 22 février 2013 22:57

Réponses

  • Bonjour,

    Dans votre cas j'ai l'impression que vous avez une succession d'erreur, dont une qui ne compile pas votre assembly, par conséquent lorsque le compilateur veut charger les DLL pour valider les métadonnées il ne le peut pas. Je ne pense pas que vous ayez un problème avec EntityFramework dans un premier temps.

    Apriori vous avez un problème avec votre classe "LearningCompany.Code.Securite.AppliMembershipProvider" qui n'implémente pas complètement la classe abstraite dont elle hérite en l'occurrence le getter de la propriété "System.Web.Security.MembershipProvider.EnablePasswordRetrieval". Donc soit vous surchargez toutes les méthodes abstraites qui manquent manuellement, soit depuis votre fichier de déclaration de votre classe "LearningCompany.Code.Securite.AppliMembershipProvider" vous sélectionnez le nom de la classe parente (System.Web.Security.MembershipProvider) avec un clic droit pour le menu contextuel et vous sélectionnez l'option "Implémenter une classe abstraite" qui va générer toutes les méthodes abstraites à implémenter avec une levée d'exception à l'intérieur. A vous de modifier chacune de ces méthodes pour qu'elles fonctionnent à l'exécution.

    Lorsque votre classe sera correctement implémentée votre DLL ou programme sera correctement compilé et pourra être chargé, et là en théorie tout ira bien, sauf si il y a d'autres erreurs bien entendu.

    Cordialement,


    Yan Grenier


    lundi 25 février 2013 08:19
  • Bonjour

    On a marqué la réponse pour qu’elle soit trouvée et utilisée par d'autres membres de la communauté ayant des questions similaires.

    Cordialement,


    Aurel BERA, Microsoft
    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

    lundi 25 février 2013 10:16

Toutes les réponses

  • Personne n''aurait une réponse pour moi?

    après avoir repris, le message affiché est le suivant:"Impossible de charger la ressource de métadonnée spécifiées."

    J'ai essayé plusieurs solutions à travers mes recherches sur le net, mais ça n'a rien donné.  Merci de m'aider.

    lundi 25 février 2013 00:57
  • Bonjour,

    Dans votre cas j'ai l'impression que vous avez une succession d'erreur, dont une qui ne compile pas votre assembly, par conséquent lorsque le compilateur veut charger les DLL pour valider les métadonnées il ne le peut pas. Je ne pense pas que vous ayez un problème avec EntityFramework dans un premier temps.

    Apriori vous avez un problème avec votre classe "LearningCompany.Code.Securite.AppliMembershipProvider" qui n'implémente pas complètement la classe abstraite dont elle hérite en l'occurrence le getter de la propriété "System.Web.Security.MembershipProvider.EnablePasswordRetrieval". Donc soit vous surchargez toutes les méthodes abstraites qui manquent manuellement, soit depuis votre fichier de déclaration de votre classe "LearningCompany.Code.Securite.AppliMembershipProvider" vous sélectionnez le nom de la classe parente (System.Web.Security.MembershipProvider) avec un clic droit pour le menu contextuel et vous sélectionnez l'option "Implémenter une classe abstraite" qui va générer toutes les méthodes abstraites à implémenter avec une levée d'exception à l'intérieur. A vous de modifier chacune de ces méthodes pour qu'elles fonctionnent à l'exécution.

    Lorsque votre classe sera correctement implémentée votre DLL ou programme sera correctement compilé et pourra être chargé, et là en théorie tout ira bien, sauf si il y a d'autres erreurs bien entendu.

    Cordialement,


    Yan Grenier


    lundi 25 février 2013 08:19
  • Vraiment GRAND M.E.R.C.I à vous,

    D'un seul trait mon projet ré-fonctionne à merveille. La solution a été comme vous l'avez dit d’implémenter la classe parente MembershipProvider. Et je vous cite ici (la cause du dysfonctionnement et la solution qui restent utiles à l'avenir): "LearningCompany.Code.Securite.AppliMembershipProvider" qui n'implémente pas complètement la classe abstraite dont elle hérite en l'occurrence le getter de la propriété "System.Web.Security.MembershipProvider.EnablePasswordRetrieval". Donc soit vous surchargez toutes les méthodes abstraites qui manquent manuellement, soit depuis votre fichier de déclaration de votre classe "LearningCompany.Code.Securite.AppliMembershipProvider" vous sélectionnez le nom de la classe parente (System.Web.Security.MembershipProvider) avec un clic gauche pour le menu contextuel et vous sélectionnez l'option "Implémenter une classe abstraite" qui va générer toutes les méthodes abstraites à implémenter avec une levée d'exception à l'intérieur.

    Cordialement,

    _______________________

    Doumb

    lundi 25 février 2013 09:12
  • Bonjour

    On a marqué la réponse pour qu’elle soit trouvée et utilisée par d'autres membres de la communauté ayant des questions similaires.

    Cordialement,


    Aurel BERA, Microsoft
    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

    lundi 25 février 2013 10:16
  • Bonjour,

    Vraiment ça en vaut la peine. encore Merci à tous.

    mercredi 27 février 2013 08:05