[英]Entity Framework 4 InvalidOperationException While Inserting or Updating
[英]Entity Framework InvalidOperationException when updating an item
我收到一個System.InvalidOperationException
錯誤,指出:
附加信息:不能為屬性“ state”調用成員“ IsModified”,因為上下文中不存在“ BatteryItem”類型的實體。 要將實體添加到上下文,請調用DbSet的Add或Attach方法。
我沒有完全做到這一點嗎? 那是我下面的方法:
public void UpdateBatteryState(BatteryItem batItem, BatteryState state)
{
try
{
batItem.state = state.ToString();
context.BatteryItem.Attach(batItem);
var entry = context.Entry(batItem);
entry.Property(x => x.state).IsModified = true;
Save();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
從該信息中,您應該這樣做:
public void UpdateBatteryState(BatteryItem batItem, BatteryState state)
{
try
{
context.BatteryItem.Add(batItem);
batItem.state = state.ToString();
context.SaveChanges()
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
我先通過調用EntityState.Modified
修復它,然后在此之后禁用對屬性的修改,如下所示:
db.Entry(obj).State = EntityState.Modified;
db.Entry(obj).Property(x => x.Password).IsModified = false;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.