今天在做Entity Framework项目的时候,更新一条记录时,出现了“更新条目时出错。有关详细信息,请参见内部异常”,
public virtual bool Update(T t)
{
try
{
context.Set<T>().Attach(t);
context.Entry<T>(t).State = EntityState.Modified;
bool result = context.SaveChanges() > 0;
return result;
}
catch (Exception ee)
{
throw ee.InnerException;
}
}
经过断点调试,发现其中对象里面的某些属性为空,因为在更新的时候不小心new了一个对象,不是在原对象的基础上修改的,造成了某些字段为空,出现如上错误,通过ID找到原对象,在其上做修改,然后生成运行,就OK了。
本文介绍了一种在使用EntityFramework进行记录更新时遇到的“更新条目时出错”异常及解决方案。问题源于误用new创建对象而非直接修改现有实体,导致部分属性丢失。文章提供了调试过程与正确做法。
1万+

被折叠的 条评论
为什么被折叠?



