今天在做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了。