[英]Add new data with Entity Framework
我正在嘗試向我的數據庫添加新數據,這是我的代碼:
// This is the dbContext
private BugTrackerDBContainer db = new BugTrackerDBContainer();
//The objet with its properties
public static Developper devAdded = new Developper();
devAdded.Name = txb_name.Text;
devAdded.FirstName = txb_firtname.Text;
// Add to the database
db.AddToDevelopper(devAdded);
db.SaveChanges();
我的問題是我啟動它一次,它工作正常,但兩次我有這個錯誤:
IEntityChangeTracker的多個實例不能引用實體對象。
為什么 ?
謝謝你的幫助
什么是函數和變量聲明的混合?
您試圖將相同的靜態實例對象兩次添加到同一個DataContext,它將失敗。
一個例子 :
public void AddDevelopperButton_Click(object sender, EventArgs e)
{
this.AddDevelopper(txb_name.Text, txb_firtname.Text);
}
public Developper AddDevelopper(string name, string firstName)
{
Developper devAdded = new Developper();
devAdded.Name = name;
devAdded.FirstName = firstName;
using(BugTrackerDBContainer db = new BugTrackerDBContainer())
{
db.AddToDevelopper(devAdded);
db.SaveChanges();
}
return devAdded;
}
您不應該將數據庫實體作為靜態對象。 問題很可能是這一行:
public static Developper devAdded = new Developper();
將代碼更改為@ Scorpi0建議的內容。
我的建議是:
答:學習基本編程
什么可能的原因聲明靜態:
public static Developper devAdded = new Developper();
B:然后開始研究EF和其他框架。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.