IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entity Framework Discussion :

Erreur namespace Multiple fichier EDMX


Sujet :

Entity Framework

  1. #1
    Membre chevronné
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Points : 1 839
    Points
    1 839
    Billets dans le blog
    2
    Par défaut Erreur namespace Multiple fichier EDMX
    Bonjour,

    Juste un post pour laisser une trace d'un problème que je viens de résoudre et qui pourra aider certains.

    J'avais une appli liée à une BDD donc un edmx + POCO 4.1
    Les besoins évoluants, j'ai du lier l'appli à une 2nd BDD
    J'ajoute mon nouveau EDMX, et de nouveau mon instanciateur de classe POCO ...
    et là erreur car il reprend le même namespace car tout était dans l'APP_CODE

    Que faire ?
    Si débugger est l'art d'enlever les bugs ... alors programmer est l'art de les créer

  2. #2
    Membre chevronné
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Points : 1 839
    Points
    1 839
    Billets dans le blog
    2
    Par défaut
    Sur une doc microsoft écrit en petit :
    Pour les applis asp.net séparer les edmx et autres fichiers générés dans des sous-dossiers différents.
    Au lieu d'avoir le namespace de défault, il prendra le nom du sous dossier.

    Il ne me restait plus qu'à inclure mes nouveaux espace de nom et le tour était joué.

    En espérant que ça aide
    Si débugger est l'art d'enlever les bugs ... alors programmer est l'art de les créer

  3. #3
    CUCARACHA
    Invité(e)
    Par défaut
    Salut,

    J'étais justement en train de chercher une solution proche de que tu proposes de faire.

    En fait, dans le SQL Server je regroupe mes tables dans des schémas qui correspondent à mes packages Power AMC.

    J'aimerais bien que le générateur s'appuie sur les schémas pour créer des namespaces. Il n'y aurait qu'un seul niveau mais lorsqu'on a plus d'une centaine de tables ça peut être appréciable.

    Ta solution est interessante par contre, lorsqu'on touche aux tables, si elles sont dans la même base, il faut cliquer table par table celles qui doivent figurer dans l'EDMX ce qui présente pour moi un risque d'erreur.

    Est-il possible de modifier le poco qui fabrique l'EDMX ?

    D'avance merci pour vos réponses,

    Laurent

  4. #4
    Membre chevronné
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Points : 1 839
    Points
    1 839
    Billets dans le blog
    2
    Par défaut
    Dans mes recherche, j'ai vu qu'on peut modifier à la main les fichier .tt.
    Personellement, je ne me sens pas de taille à faire cela.
    Mais peut-être que en analysant le code de génération, tu trouvera ton bonheur.
    Il faut passer par les fichier tt car, si tu attaques directement les fichier générés, ils seront écrasés quand tu fera un mise à jour à partir de base .
    Si débugger est l'art d'enlever les bugs ... alors programmer est l'art de les créer

  5. #5
    CUCARACHA
    Invité(e)
    Par défaut
    Salut,

    Je travaille beaucoup avec les tt mais uniquement avec MES tt. J'ai pour politique de ne jamais modifier les fichiers natifs d'un système pour éviter de voir mes modifs disparaitre à l'occasion d'une évolution.

    Ca serait peut-être sioux de déposer une feature request auprès de l'équipe Entity Framework et éventuellement de proposer de la développer mais il faut que la modif soit intégrée à une future version d'EF.

    Etant donné que l'effort semble être produit en faveur du code first plutôt qu'en faveur du datadriven development, je ne suis pas certain qu'une telle évol soit faite dans le futur.

    ++

    Laurent

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 7
    Points : 10
    Points
    10
    Par défaut
    Bonjour, mais comment obtient-on les fichiers en .tt
    J'ai un modele entity framework que j'ai généré à partir d'une base MySql et je n'ai que le designer (pourtant j'ai affiché tous les fichiers)
    Merci

  7. #7
    CUCARACHA
    Invité(e)
    Par défaut
    Salut,

    Je ne comprends pas bien ta phrase, pourrais tu reformuler ?

    Merci

    Laurent

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 7
    Points : 10
    Points
    10
    Par défaut
    Voila, dans mon projet j'ai créé mon modèle EF en ajoutant un nouvel élément ADO.Net Entity Data Model qui 'mappe' sur sur une bade de données MySQL (avec Wamp)
    Mon modèle s'appelle film.edmx et en dessous j'ai film.Designer.cs.

    Or , j'ai besoin de récupérer les classes de mes entités et normalement c'est possible avec les fichiers ayant l'extension .tt

    Or impossible de les avoir dans mons explorateur de solution.

    J'ai vS ultimate 2010

    Merci encore

  9. #9
    CUCARACHA
    Invité(e)
    Par défaut
    Salut,

    Il faut désactiver la génération automatique des classes de l'EDMX (stratégie de génération : aucune).

    Ensuite, tu vas sur http://innovacallframework.codeplex.com

    Tu vas dans Source code, browse

    Tu vas dans Layers/DomainLayer puis tu récupères le fichier domain.tt

    Ce fichier fait ce que tu veux.

    Bien à toi

    Laurent

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 7
    Points : 10
    Points
    10
    Par défaut
    Merci Laurent de me répondre,
    Juste une dernière question, comment désactiver cette génération automatique des classes de l'EDMX? Je ne vois pas comment faire.
    Merci encore

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 7
    Points : 10
    Points
    10
    Par défaut
    Re,
    Autant pour moi, j'ai vu dans les propriétés de l'emx cette option et elle est déjà à Aucune.
    J'ai donc suivi ta procédure et ce fichier domain.tt me semble complétement indépendant de mon projet.
    A quoi sert il exactement?
    Merci

  12. #12
    CUCARACHA
    Invité(e)
    Par défaut
    Re,
    Déjà tu dois corriger le chemin qui pointe sur le fichier EDMX au début du .tt
    Ensuite, tu dois corriger le namespace des classes à générer.
    Enfin, tu exécutes le tt et tu obtiens toutes les classes de ton domaine.
    Bonne journée
    Laurent

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 7
    Points : 10
    Points
    10
    Par défaut
    Ouahhh, ça a l'air puissant mais je crois que je vais devoir passer trop de temps pour comprendre et appliquer cette façon de développer...
    Ou alors, y a t-il un tuto pour présenter, par exemple, la manipulation de domain.tt?
    Merci

  14. #14
    CUCARACHA
    Invité(e)
    Par défaut
    tu peux aller voir http://framework.innovacall.net/Samp...Form_MyProfile

    Pour le domain.tt il n'y a rien de compliqué, c'est logique qu'il faille pointer sur ton EDMX pour qu'il puisse créer les classes, idem pour le namespace (mais c'est même pas obligé).

    ++

    Laurent

  15. #15
    CUCARACHA
    Invité(e)
    Par défaut
    Si tu utilises toutes les couches, c'est encore plus simple.
    Il y a aussi des explications dans la page d'accueil du framework sur codeplex.
    Je n'ai pas encore terminé la doc, par contre j'ai presque terminé exemple avancé. Je dois publier aujourd'hui.

    Bien à toi

    Laurent

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur dans le fichier de lancement
    Par sboober dans le forum JWS
    Réponses: 2
    Dernier message: 14/04/2009, 17h41
  2. Erreur dans un fichier Yacc
    Par gRaNdLeMuRieN dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 20/08/2005, 20h50
  3. Réponses: 15
    Dernier message: 05/03/2005, 14h53
  4. [Servlet] Erreur dans le fichier web.xml
    Par Crazyblinkgirl dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 05/07/2004, 15h20
  5. [xml] Récupérer le numéro de la ligne d'erreur d'un fichier
    Par ZoumZoumMan dans le forum C++Builder
    Réponses: 7
    Dernier message: 20/03/2004, 19h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo