none
Importation d'une source de données EF définie dans un projet extérieur à la solution courante RRS feed

  • Question

  • Bonjour.

    Contexte : VS 2010 Premium SP1.

    Dans une page ASP.NET, je souhaite lier une GridView à une table via Entity Framework. Je me base pour ce faire le tutoriel http://www.asp.net/web-forms/tutorials/getting-started-with-ef/the-entity-framework-and-aspnet-getting-started-part-2.

    Différence : le projet qui contient les classes Entity Framework est un projet extérieur à la solution en cours, et qui fait partie de ses références. J'essaie donc d'importer une source de données : menu Données / Ajouter une nouvelle source de données... / Objet. Le projet en cours et les projets référencés sont affichés. Je pénètre dans le projet qui m'intéresse et sélectionne FluideEntities, puis Terminer. La fenêtre de dialogue se ferme instantanément.

    En mode design, je crée une EntityDataSource, je clique sur le petit bouton > / Configurer la source de données... Je déroule la liste Connexion nommée, et n'y trouve pas FluideEntities. Web.config ne contient aucune référence à cette source de données non plus.

    Je constate aussi que mon menu Données est maintenant réduit : les sous-menus Afficher les sources de données  et Ajouter une nouvelle source de données... ont disparu. La seule façon que je connaisse de les faire réapparaître est de quitter VS et de le redémarrer, mais de toute façon cela ne m'avance à rien.

    Autre méthode : j'affiche l'onglet Sources de données. Les 4 icônes sont actives pendant une seconde, puis basculent en grisé et sont disable.

    En continuant à chercher, je trouve un avertissement «L'élément 'urn:schemas-microsoft-com:xml-msdatasource:GenericObjectDataSource' n'est pas déclaré» dans un fichier caché My Project\DataSources\NjcFrance2.NjcFluide.FluideEntities.datasource. Que signifie ceci ? Google ne m'aide guère, sauf à effacer mon projet et à le recréer entièrement...

    Bref, je sèche.

    Merci de votre aide,

    Gilbert

    vendredi 27 janvier 2012 10:29

Réponses

  • Bonjour, Gilbert,

     

    J’ai essayé reproduire pas à pas la procédure que vous avez suivie dans le premier message et le seul problème que j’ai identifié est le fait que la chaine de connexion du fichier Web.config n’est pas prise en compte si vous ne générez pas les deux projets avant essayer utiliser le control EntityDataSource. J’ai fait ça et j’ai pu voir FluideEntities de l’autre projet.

     

    Concernant la question avec les deux entrées de sous-menu « Données » de ce que je vois sur http://msdn.microsoft.com/fr-fr/library/yft2c9ad.aspx  « La commande  Afficher les sources de données est uniquement disponible dans les projets qui prennent en charge la création et l'utilisation de sources de données » et je crois que les projets ASP.NET ne le prend pas en compte cette options. En fait, le tuto  que vous avez suivi utilise une autre méthode pour construire le modelé. Donc je dirais plutôt que c’est une erreur que vous pouvez voir cette option dans le projet ASP.NET. Par contre, de que vous créez un projet libraire de classes et sélectionnez ce projet, l’option est de nouveau disponible.

     

    Finalement, si la génération de projets ne fonctionne pas, vous pouvez essayer avec une réinstallation de VS.

     

    Cordialement,

     

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.

    mercredi 1 février 2012 10:37
  • Bonjour Ciprian,

    Merci, ça y est !

    En fait il faut :

    • et définir la source dans le fichier Web.config (quitte à modifier ultérieurement son ConnectionString - à tester bientôt),
    • et déclarer la connexion sur la page .aspx en mode design par la petite flèche > sur le contrôle plutôt que par le menu Données.

    Merci et bonne soirée,

    Gilbert

    mercredi 1 février 2012 15:42

Toutes les réponses