概述:
在Nhibernate对数据记录进行更新的时候,如果对同一条记录进行重复执行修改时,出现如下错误:
a different object with the same identifier value was already associated with the session: 25, of entity: Model.JkptOaxtWeatherforecast.
解决办法:
错误原因时不同的对象具有相同的标识符,当我们读取数据是通过映射绑定列表时,是将记录绑定到对象上,当你在同一个请求的时候使用多次绑定(重复执行修改),这样就会出现不同的对象,而这些对象却有相同的关键值(映射的主键),所以就会出现标题的错误. 所以解决的方法也就出来了,只要我们在取得列表后,执行一下删除就可以了.
public static bool ModifyRecord(string[] args)
{
bool IsSuccess = false;
//更新数据
session.Clear();
return IsSuccess;
}
{
bool IsSuccess = false;
//更新数据
session.Clear();
return IsSuccess;
}
OK,我遇到的是这个问题,如果你也遇到如题所述错误,不防试试是否能解决.