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 :

Est-ce possible de se passer du fichier appConfig ? [Débutant]


Sujet :

Entity Framework

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2012
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 18
    Points : 9
    Points
    9
    Par défaut Est-ce possible de se passer du fichier appConfig ?
    Bonjour,

    J'aimerais savoir si le fichier appConfig est obligatoire pour ce connecté à la base. Car mon maître de stage ne veut pas dépendre d'un fichier de configuration et veux que le chemin de connexion soit en dur pour pouvoir le modifier facilement. J'ai essayé mais sa ma pas l'air possible et surtout chiant car à chaque modification du schèma, il faudra re-modifier le constructeur.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Je vois un très gros inconvénient de mettre des infos en dur, comme la chaine de connexion, c'est que si tu veux modifier ta chaine de connexion ultérieurement, tu seras obligé de recompiler.

  3. #3
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 177
    Points : 4 489
    Points
    4 489
    Par défaut
    Citation Envoyé par thomaas Voir le message
    J'aimerais savoir si le fichier appConfig est obligatoire pour ce connecté à la base.
    Non mais c'est une bonne pratique
    Citation Envoyé par thomaas Voir le message
    Car mon maître de stage ne veut pas dépendre d'un fichier de configuration et veux que le chemin de connexion soit en dur pour pouvoir le modifier facilement.
    Euh si il est en dur tu ne peux pas le modifier facilement, tu dois recompiler ton application avec la nouvelle valeur et redonner l'application aux utilisateur, d'où l'utiliter d'un fichier de config
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  4. #4
    Membre chevronné Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Points : 2 227
    Points
    2 227
    Par défaut
    Tu peux également passer par une configuration dans une table de ta base de données...

    (Je vous laisser réfléchir sur cette phrase deux secondes)

    => Comme expliqué déjà deux fois, c'est déconseillé de mettre ce genre de choses en dur. Les fichiers de configuration sont exactement fait pour ça. Je ne vois pas bien ce qui gêne ton maître de stage là dedans...

    Y a-t-il des contraintes que nous ne connaissons pas ?
    One minute was enough, Tyler said, a person had to work hard for it, but a minute of perfection was worth the effort. A moment was the most you could ever expect from perfection.

    -- Chuck Palahniuk, Fight Club, Chapter 3 --

  5. #5
    Futur Membre du Club
    Inscrit en
    Avril 2012
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    D'accord, et si je le met dans une classe qui me retourne une EntityConnection que je met en paramètre du constructeur. Comme sa après il pourrait modifier le chemin ? A la base j'ai testé ça mais du coup sa me fais une erreur quand je fais appel à ma procédure qui ajoute un élément à la base (AddObject).

    "Impossible de déterminer le nom EntityContainer. Soit le nom EntitySet fourni doit être qualifié par le nom EntityContainer, par exemple EntityContainerName.EntitySetName, soit la propriété DefaultContainerName doit être définie pour ObjectContext.
    Nom du paramètre : entitySetName"

  6. #6
    Futur Membre du Club
    Inscrit en
    Avril 2012
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    En faite, il veut pas que le client après se trimbale un fichier de config avec le .exe. Il veut que l'appli soit portable et d'après ce que j'ai pu analyser quand on génère, le fichier XML configuration doit être liée avec le .exe. Et d'après ce que j'ai compris c'est sa qui le dérange ...

  7. #7
    Membre chevronné Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Points : 2 227
    Points
    2 227
    Par défaut
    Il veut une application portable mais qui se connecte à une base de données distante ?
    Le principe d'une application portable, c'est qu'elle soit autonome. Si elle ne l'est pas (puisqu'elle a besoin de données externes), je ne vois pas l'intérêt de supprimer la possibilité de configurer l'application...

    Citation Envoyé par Wikipédia
    Une application portable est un programme informatique qui ne requiert pas d'installation préalable, ne dépend pas de composants externes et n'engendre pas de modification durable du système par son fonctionnement.
    One minute was enough, Tyler said, a person had to work hard for it, but a minute of perfection was worth the effort. A moment was the most you could ever expect from perfection.

    -- Chuck Palahniuk, Fight Club, Chapter 3 --

  8. #8
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 177
    Points : 4 489
    Points
    4 489
    Par défaut
    Il y a un machin qu'on appelle Fichier d'instal c'est lui qui s'occupe d'installer l'application (exe, fichier de config et dll) lui est composé d'un seul fichier
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  9. #9
    Futur Membre du Club
    Inscrit en
    Avril 2012
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Oui je sais ... mais il s'embrouille tellement qu'a force il m'embrouille Je vais essayer de bidouiller si ça marche pas je lui dirais tout ce que vous m'avez dis !

  10. #10
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 177
    Points : 4 489
    Points
    4 489
    Par défaut
    Un projet Install ca prend 3 click a faire c'est lui que tu dois distribuer au utilisateur et pas ton repertoire

    (et avec bcp de chance tu lui donner la version de debug...)
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  11. #11
    Futur Membre du Club
    Inscrit en
    Avril 2012
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par BenoitM Voir le message
    Il y a un machin qu'on appelle Fichier d'installe c'est lui qui s'occupe d'installer l'application (exe, fichier de config et dll) lui est composer d'un seul fichier
    D'accord, du coup le chemin d'accès à la bdd après n'est plus modifiable ou pas ? Car le but de cette mise en oeuvre c'est qu'après l'utilisateur puisse ouvrir une autre bdd de même schéma se trouvant sur son ordi.

  12. #12
    Membre chevronné Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Points : 2 227
    Points
    2 227
    Par défaut
    Il sera toujours modifiable depuis le fichier de configuration.

    Question : comment ton maître de stage espérait que le client/utilisateur modifie le chemin d'accès à la BDD en le mettant en dur dans le code ? (puisque finalement c'est le but?)
    One minute was enough, Tyler said, a person had to work hard for it, but a minute of perfection was worth the effort. A moment was the most you could ever expect from perfection.

    -- Chuck Palahniuk, Fight Club, Chapter 3 --

  13. #13
    Futur Membre du Club
    Inscrit en
    Avril 2012
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Ok ben impecc je me servirai de ma fonction qui modifie le data source du ficher config et je lui dirai alors.

    Citation Envoyé par Er3van
    Question : comment ton maître de stage espérait que le client/utilisateur modifie le chemin d'accès à la BDD en le mettant en dur dans le code ? (puisque finalement c'est le but?)
    Avec une OpenFileDialog, et après dynamiquement le chemin ce change dans le code. Vu qu'à la base le model ce connecte en récupérant les données du fichier config il ma dis tu dois pouvoir supprimer cette étape. D'ou mon post

  14. #14
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 177
    Points : 4 489
    Points
    4 489
    Par défaut
    Citation Envoyé par thomaas Voir le message
    D'accord, du coup le chemin d'accès à la bdd après n'est plus modifiable ou pas ? Car le but de cette mise en oeuvre c'est qu'après l'utilisateur puisse ouvrir une autre bdd de même schéma se trouvant sur son ordi.
    Le fichier setup installera dans le répertoire de son choix l'exe, appconfig et les dll nécessaire à l'application.

    L'utilisateur pourra modifier son fichier de config avec un éditeur text.


    ps : perso je ferai un écran au lancement de l'application avec deux TextBox(Serveur, Schema) qui seraient préremplient avec les informations dans le fichier de config. Je sauvegarderai ses changement dans l'appconfig pour lui proposer toujours la dernier base de donnée à la quelle il s'est connecté
    ou crée un menu qui permetrai de changer de connection pour ne pas devoir à chaque fois choisir la base de donnée

    * évidement si c'est une base de données fichier l'openFileDialog et le path seront plus pratiques :p
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  15. #15
    Futur Membre du Club
    Inscrit en
    Avril 2012
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Bon ma fonction qui modifier le fichier config marché mais j'étais obligé de fermer et relancer l'appli pour qu'il prenne la modif et mtn j'ai réussi en utilisant le 2ème constructeur du model et du coup je me sert pas du ficher config et mon maître de stage est content
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public void ReConnecterBdd(string cConn)
            {
                this.bdd = new BDDFinalEntities(cConn);
            }
    ReConnecterBdd("metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlServerCe.4.0;provider connection string=\"Data Source=" + Filename + "\"");

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

Discussions similaires

  1. Est-il possible de se passer de select?
    Par Krishna dans le forum Général Python
    Réponses: 8
    Dernier message: 19/11/2013, 03h31
  2. Réponses: 2
    Dernier message: 03/09/2013, 16h04
  3. Réponses: 0
    Dernier message: 02/06/2013, 12h47
  4. Réponses: 11
    Dernier message: 14/09/2009, 17h10
  5. [MS-DOS] Est-il possible d'ecrire ds un fichier XML
    Par TEXMEX dans le forum Scripts/Batch
    Réponses: 6
    Dernier message: 22/02/2006, 10h15

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