【发布时间】:2022-01-27 18:51:07
【问题描述】:
我在尝试更新特定记录时遇到实体框架问题 错误消息显示“属性 'ID' 是对象密钥信息的一部分,无法修改”。 我的表有一个主键,我没有尝试更新 Id。 这是方法
public void SetAsDefaultImage()
{
int id = Convert.ToInt32(Request.QueryString["id"].ToString());
int pid = (int)TempData["ImgProductId"];
Images defaultImage = Context.Connection.Images.FirstOrDefault(x => x.Default == true && x.ProductID==pid);
defaultImage.Default = false;
UpdateModel(defaultImage);
int result=Context.Connection.SaveChanges();
if (result > 0)
{
Images setdefault = Context.Connection.Images.First(x => x.Id == id);
setdefault.Default = true;
UpdateModel(setdefault);
Context.Connection.SaveChanges();
}
}
你知道什么可能导致这个错误吗?
【问题讨论】:
-
你在哪一行得到错误?您确定在该 UpdateModel 中您没有触摸 ID?
-
你必须发布UpdateModel代码
-
在 int result=Context.connection.savechanges () 上,我确定我没有触及 Id。我只是想将默认值更新为 false
-
除了 updatemodel 是一个 mvc 方法。我没有编码。
-
我对 mvc 很陌生,所以我不知道 updatemodel 导致了这个问题。谢谢。
标签: c# asp.net-mvc model-view-controller runtime-error