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 :

Entity Framework 5


Sujet :

Entity Framework

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2012
    Messages : 37
    Points : 31
    Points
    31
    Par défaut Entity Framework 5
    Bonjour, voila je viens vous demandez de l'aide car je bute depuis plusieurs jours sur comment changer la chaine de connexion a la base de donnée a partir de mon code.
    Je voudrais que les utilisateur de mon application puisse changer les informations via un fichier texte par exemple ou un fichier xml qui me permettrais d'aller piocher c'est infos dedans est d'ensuite établir la connexion.
    J'ai chercher du coté du connexionString mais aucun résultat concluant.

    Voici le code que je me suis servi pour mes test:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
            private static string ConnectionString
            {
                get
                {
                    // Specify the provider name, server and database.
                    string providerName = "MySql.Data.MySqlClient";
                    string metaData = "res://*/DataObject.Model1.csdl|res://*/DataObject.Model1.ssdl|res://*/DataObject.Model1.msl";
     
                    // Initialize the EntityConnectionStringBuilder.
                    EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder();
     
                    //Set the provider name.
                    entityBuilder.Provider = providerName;
     
                    // Set the provider-specific connection string.
                    entityBuilder.ProviderConnectionString = "server=localhost;user id=root;password=root;database=testdb";
     
                    entityBuilder.Metadata = metaData;
     
                    return entityBuilder.ToString();
                }
            }
    Mais j'ai une erreur de type : "Keyword not supported.\r\nNom du paramètre : metadata".

    Pourriez-vous me donner des pistes ^^, je suis a cours d'idées.

    Cordialement Quentin.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par quentin869 Voir le message
    Mais j'ai une erreur de type : "Keyword not supported.\r\nNom du paramètre : metadata".
    A quel endroit tu as cette erreur ? Poste la StackTrace de l'exception

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2012
    Messages : 37
    Points : 31
    Points
    31
    Par défaut
    J'ai cette erreur lorsque j'essaie de crée une nouvelle instance de l'entité.

    Voila ma classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
        class DatabaseEntities
        {
            private Entities _entities;
            public List<Account> CacheAccount = new List<Account>();
     
            #region Singleton
            private static readonly DatabaseEntities instance = new DatabaseEntities();
     
            static DatabaseEntities() { }
     
            private DatabaseEntities()
            {
                _entities = new Entities();
                _entities.Database.Connection.ConnectionString = ConnectionString;
            }
     
            public static DatabaseEntities Instance
            {
                get
                {
                    return instance;
                }
            }
            #endregion
     
            private static string ConnectionString
            {
                get
                {
                    // Specify the provider name, server and database.
                    string providerName = "MySql.Data.MySqlClient";
                    string metaData = "res://*/DataObject.Model1.csdl|res://*/DataObject.Model1.ssdl|res://*/DataObject.Model1.msl";
     
                    // Initialize the EntityConnectionStringBuilder.
                    EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder();
     
                    //Set the provider name.
                    entityBuilder.Provider = providerName;
     
                    // Set the provider-specific connection string.
                    entityBuilder.ProviderConnectionString = "server=localhost;user id=root;password=root;database=testdb";
     
                    entityBuilder.Metadata = metaData;
     
                    return entityBuilder.ToString();
                }
            }
     
            public void Load()
            {
                foreach (var e in _entities.Account)
                    this.CacheAccount.Add(e);
            }
        }

    Voici la stacktrace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
       à MySql.Data.MySqlClient.MySqlConnectionStringBuilder.ValidateKeyword(String keyword)
       à MySql.Data.MySqlClient.MySqlConnectionStringBuilder.set_Item(String keyword, Object value)
       à System.Data.Common.DbConnectionStringBuilder.set_ConnectionString(String value)
       à MySql.Data.MySqlClient.MySqlConnectionStringBuilder..ctor(String connStr)
       à MySql.Data.MySqlClient.MySqlConnection.set_ConnectionString(String value)
       à Gardiens.DataObject.DatabaseEntities..ctor() dans c:\Users\Quentin\Documents\Visual Studio 2012\Projects\Gardiens\Gardiens\DataObject\DatabaseEntities.cs:ligne 23
       à Gardiens.DataObject.DatabaseEntities..cctor() dans c:\Users\Quentin\Documents\Visual Studio 2012\Projects\Gardiens\Gardiens\DataObject\DatabaseEntities.cs:ligne 16

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Database.Connection représente la connexion "brute" MySQL, pas la connexion Entity Framework. Si tu essaies de lui affecter une chaine de connexion EF, forcément ça marche pas... Je suppose que Entities est une classe qui hérite de DbContext ? Dans ce cas passe la chaine de connexion en paramètre du constructeur, et ne touche pas à Database.Connection

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2012
    Messages : 37
    Points : 31
    Points
    31
    Par défaut
    Effectivement c'était bien sa le problème, donc j'ai passer la chaîne de connection via le constructeur est plus de soucis.

    Merci beaucoup.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/08/2008, 11h36
  2. ADO.NET Entity Framework, Astoria, Silverlight -> .NET 3.5 ?
    Par rad_hass dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 08/07/2008, 17h01
  3. version final d'Entity framework
    Par korchimustapha dans le forum Général Dotnet
    Réponses: 8
    Dernier message: 04/07/2008, 18h21
  4. [ADO.NET Entity Framework] génération des tables
    Par anthyme dans le forum Accès aux données
    Réponses: 3
    Dernier message: 22/02/2008, 18h44
  5. Linq - Entity Framework
    Par Jfrancois57 dans le forum Framework .NET
    Réponses: 11
    Dernier message: 12/02/2008, 09h06

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