【发布时间】:2013-12-19 04:10:13
【问题描述】:
我收到一个System.InvalidOperationException 错误,其中指出:
附加信息:无法调用成员“IsModified” 属性“状态”,因为“电池项”类型的实体不 存在于上下文中。要将实体添加到上下文中,请调用 Add 或 DbSet的附加方法。
我没有做到这一点吗?这是我下面的方法:
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);
}
}
【问题讨论】:
-
为什么还要手动设置 IsModified 属性? EF 内置了更改跟踪。
标签: c# entity-framework