2017-03-26 3 views
-1

J'ai du code pour ajouter un nouvel enregistrement à la base de données, cependant, il ne semble pas mettre à jour la base de données.Cadre d'entité ne pas ajouter un nouvel enregistrement

private void btnNew_Click(object sender, EventArgs e) 
     { 
      DBEntities db = new DBEntities(); 
      Animal a = new Animal(); 
      a.AnimalName = txtNew.Text; 
      db.SaveChanges(); 
      Debug.WriteLine(a.AnimalName); 
     } 

Il convient de mentionner que j'ai également mis l'une des propriétés de ma base de données de «copie si récente et que n'a pas résolu le problème. Ma chaîne de connexion qui a été généré automatiquement lorsque j'ai créé le modèle est la suivante:

<add name="DBEntities" connectionString="metadata=res://*/AnimalModel.csdl|res://*/AnimalModel.ssdl|res://*/AnimalModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=(LocalDB)\MSSQLLocalDB;attachdbfilename=|DataDirectory|\dbAnimal.mdf;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient"/> 

Si quelqu'un sait d'une solution, il serait très appréciée. Je vous remercie.

Répondre

0

vous devez écrire cette phrase db.animals.add(a); avant db.SaveChanges();

0

c'est parce que vous créez par exemple de modèle animal mais vous n'êtes pas ajouterez dans son contexte db il devrait être comme ça

db.Model.Add(new model) 

et dans votre le cas sera

DBEntities db = new DBEntities(); 
    Animal a = new Animal(); 
    a.AnimalName = txtNew.Text; 
    db.Animal.Add(a); 
    db.SaveChanges(); 
    Debug.WriteLine(a.AnimalName);