EntityFramework更新不会进行更改
在运行代码后,item.Name仍然会显示“New Item”。EntityFramework更新不会进行更改
这里有什么问题?
item.Name = "Updated Item"; items.Update(item);
public void Update(Item item)
{
using (var context = new wirvar_masterEntities())
{
var key = new EntityKey("wirvar_masterEntities.Items", "ID", item.ID);
var itemToUpdate = (Item)context.GetObjectByKey(key);
if (itemToUpdate == null) return;
itemToUpdate = item;
context.SaveChanges();
}
}
回答:
要做到这一点,尝试做你的GetObjectKey
后的对象上下文ApplyCurrentValues
方法。然后所有的值都应该更新。
回答:
你正在处理引用...而是映射的属性,比思考改变指针会做到这一点!
回答:
错误的是没有保存更改。您从数据库收到您的itemToUpdate
,并且在您将数据替换为参考项目之后 - EF永远不知道您所做的任何更改,因为将item
分配给itemToUpdate
什么都不做。而不是分配尝试使用:
context.Items.ApplyCurrentValues(item);
以上是 EntityFramework更新不会进行更改 的全部内容, 来源链接: utcz.com/qa/263008.html