私は、次のコードを実行した場合、それは次のようなエラーがスローされますエンティティオブジェクトはIEntityChangeTrackerEntity Frameworkのとエンティティトラッカー問題
public void Save(Category category)
{
using(var db = new NorthwindContext())
{
if(category.CategoryID == 0)
{
db.AddToCategorySet(category);
}
else
{
//category.RemoveTracker();
db.Attach(category);
}
db.SaveChanges();
}
}
の複数のインスタンスによって参照することはできません
その理由は、もちろんですカテゴリは、すでにEntityChangeTrackerをカテゴリオブジェクトに添付したGetByIdメソッドから取得したインターフェイスから送信されます。エンティティトラッカーをnullに設定しようとしましたが、カテゴリオブジェクトを更新しませんでした。
protected void Btn_Update_Category_Click(object sender, EventArgs e)
{
_categoryRepository = new CategoryRepository();
int categoryId = Int32.Parse(txtCategoryId.Text);
var category = _categoryRepository.GetById(categoryId);
category.CategoryName = txtUpdateCategoryName.Text;
_categoryRepository.Save(category);
}
ありがとうございますが、カテゴリオブジェクトがSaveメソッドになると、EntityStateはそれが変更されていないことを示します。 –
良い点。私はいくつかの提案を追加して投稿を更新しました。 – StriplingWarrior