none
Création base de données avec entity code first

    Question

  • Bonjour à tous,

    Je suis nouveau sur le forum et je débute en bases de données.

    J'essaie de développer un projet en utilisant Wpf et le pattern MVVM. Pour le début du travail (conception de la vue et binding sur les ViewModels) tout va bien. J'essaie, depuis plusieurs jours et après avoir lu des tas de tutos sur le web, de créer une base de données "BddGestion" avec Entity et le code first. J'ai donc écrit une classe pour ma table "Entree" (je commence doucement)

    Entree.cs

    namespace GestionComptes.Model

    {

        [Table("Entrées")]

        public class Entree

        {

            [Key]

            public int EntreeId { get; set; }

     

            public string Operation { get; set; }

            public decimal Credit { get; set; }

     

        }

    }

    et une autre pour le context "GestionContext".

    GestionContext.cs

    namespace GestionComptes.Model

    {

        public class GestionContext: DbContext

        {

            public GestionContext() : base("name=GestionContext") { }

            public DbSet<Entree> Entrees { get; set; }

        }

    }

    J'ai ensuite remplacé le code de App.config en écrivant:

    App.config

     <?xml version="1.0" encoding="utf-8"?>

    <configuration>

      <connectionStrings >

        <add name="GestionContext" connectionString="Data

    Source=(LocalDb)\v11.0;AttachDBFilename=|DataDirectory|\BddGestion.mdf;Integrated Security=SSPI;"

    providerName="System.Data.SqlClient"/>

      </connectionStrings>

    </configuration>

    J'ai ensuite écrit la ligne suivante dans MainWindows.xaml.cs (GestionContext db = new GestionContext();) afin de faire un test rapide.

    Malheureusement pour moi, quand je lance l'application aucune base de donnée n'est créer.

    Je pense que l'erreur est idiote mais je tourne en rond et je ne la vois pas.

    Je vous remercie pour votre aide.

    Cordialement

    dimanche 10 juin 2018 17:02

Toutes les réponses

  • Bonjour Bernard,

    je viens de jetter un oeuil aux differents details du dysfonctionnement, apparement ca viens de la chaine de connexion qui pointe vers une de type localdb: 

     <?xml version="1.0" encoding="utf-8"?>
    
    <configuration>
    
      <connectionStrings >
    
        <add name="GestionContext" connectionString="Data
    
    Source=(LocalDb)\v11.0;AttachDBFilename=|DataDirectory|\BddGestion.mdf;Integrated Security=SSPI;"
    
    providerName="System.Data.SqlClient"/>
    
      </connectionStrings>
    
    </configuration>

    si pour ta solution tu affiche les fichiers cachee tu trouverra un fichier mdf dans le dossier AppData, autrement si tu veux utiliser ton instance SQL Express ou SQL Server ta chaine de connexion doit etre comme ceci:

        <add name="GestionContext" connectionString="Data
    
    Source=.\SQLExpress;Initial Catalog=BddGestion;Integrated Security=true;"
    
    providerName="System.Data.SqlClient"/>

    dans mon cas la base de donnee est en local ".\instance_name" ou bien le point ou bien le nom netbios de l'ordinateur "DESKTOP114\instance_name" et le nom d'instance dans mon cas c'est SQLExpress, donc ".\SQLExpress" ou "DESKTOP114\SQLExpress", et le nom de base de donnee en Initial Catalog, le dernier parametre c'est pour utiliser la securite windows, si c'est pas le cas pour ton installation SQL Server il faut utiliser un nom d'utilisateur et un mot de passe.

    j'espere que ca aide!

    Cordialement,

    Mouad.

    vendredi 9 novembre 2018 15:18