Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 15 sur 15
  1. #1
    Membre Expert
    Avatar de Pelote2012
    Homme Profil pro Yannick Leborgne
    Développeur informatique
    Inscrit en
    mars 2008
    Messages
    816
    Détails du profil
    Informations personnelles :
    Nom : Homme Yannick Leborgne
    Âge : 33
    Localisation : France, Haute Vienne (Limousin)

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

    Informations forums :
    Inscription : mars 2008
    Messages : 816
    Points : 1 507
    Points
    1 507

    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 Expert
    Avatar de Pelote2012
    Homme Profil pro Yannick Leborgne
    Développeur informatique
    Inscrit en
    mars 2008
    Messages
    816
    Détails du profil
    Informations personnelles :
    Nom : Homme Yannick Leborgne
    Âge : 33
    Localisation : France, Haute Vienne (Limousin)

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

    Informations forums :
    Inscription : mars 2008
    Messages : 816
    Points : 1 507
    Points
    1 507

    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 Expert
    Avatar de Pelote2012
    Homme Profil pro Yannick Leborgne
    Développeur informatique
    Inscrit en
    mars 2008
    Messages
    816
    Détails du profil
    Informations personnelles :
    Nom : Homme Yannick Leborgne
    Âge : 33
    Localisation : France, Haute Vienne (Limousin)

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

    Informations forums :
    Inscription : mars 2008
    Messages : 816
    Points : 1 507
    Points
    1 507

    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
    Invité régulier
    Inscrit en
    janvier 2012
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : janvier 2012
    Messages : 7
    Points : 7
    Points
    7

    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
    Invité régulier
    Inscrit en
    janvier 2012
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : janvier 2012
    Messages : 7
    Points : 7
    Points
    7

    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
    Invité régulier
    Inscrit en
    janvier 2012
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : janvier 2012
    Messages : 7
    Points : 7
    Points
    7

    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
    Invité régulier
    Inscrit en
    janvier 2012
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : janvier 2012
    Messages : 7
    Points : 7
    Points
    7

    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
    Invité régulier
    Inscrit en
    janvier 2012
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : janvier 2012
    Messages : 7
    Points : 7
    Points
    7

    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •