Linq Attach不能更新.
LINQContext _db = new LINQContext();
public void SaveUser(LinqToSql.td_Users user)
{
try
{
user.user_Time = DateTime.Now;
_db.td_Users.Attach(user,true);
_db.SubmitChanges();
}
catch(Exception e)
{
MessageBox.Show(e.Message);
}
}
第一次更新没有问题,第二次报异常:无法附加已经存在的实体。
怎么回事啊?难道必须得重新生成上下文???
------解决方案--------------------先查询,再更新.目前我也没有找出好办法.
------解决方案--------------------单步调试一下,找到错误的代码行分析
------解决方案--------------------第二次user要重新new,不然还是第一个user,当然就重复了
------解决方案--------------------如果是更新值,不用_db.td_Users.Attach(user,true);
------解决方案--------------------Attach 主要在 多个 context 创建的实体时,利用一个实体来保存数据的时候,你这个问题需要检查一下数据库主键设置了没有,能不能标识出这行的唯一性,这样才能顺利保存。