2017-03-26 59 views
-1

我有一些代碼可以將新記錄添加到數據庫,但是它似乎沒有更新數據庫。實體框架無法添加新記錄

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); 
     } 

值得一提的是,我也把我的數據庫的屬性之一,「複製,如果新」,但這並沒有解決問題。當我創建的模型,自動生成了我的連接字符串如下:

<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"/> 

如果有人將它最欣賞的解決方案的認識。謝謝。

回答

0

你必須寫這句話db.animals.add(a);之前db.SaveChanges();

0

這是因爲您要建立動物模型的實例,但是你是不是在分貝範圍內增加它,它應該是這樣的

db.Model.Add(new model) 

,並在您它將會是

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