【问题标题】:LinqToSQL Can't Update TwiceLinqToSQL 不能更新两次
【发布时间】:2012-09-14 02:44:53
【问题描述】:

我尝试用相同的数据更新两次,但它抛出异常

    public void UpdateOnSubmit<T>(T data) where T : class
    {
        lock (_lockObj)
        {
            using (DataModel dx = new DataModel(this._adapter.ConnectionString))
            {
                dx.GetTable<T>().Attach(data);
                dx.Refresh(RefreshMode.KeepCurrentValues, data);
                dx.SubmitChanges();
            }
        }
    }

例外是

An attempt has been made to Attach or Add an entity that is not new, perhaps having been loaded from another DataContext. This is not supported.

第一次更新成功但第二次没有。提前致谢

问候,

布赖恩

【问题讨论】:

    标签: linq linq-to-sql datacontext insert-update


    【解决方案1】:

    好吧,看来我又找到了解决方案。我只是将 DeferredLoadingEnabled 设置为 false,它就像一个魅力。

        public void UpdateOnSubmit<T>(T data) where T : class
        {
            lock (_lockObj)
            {
                using (DataModel dx = new DataModel(this._adapter.ConnectionString))
                {
                    dx.DeferredLoadingEnabled = false;
                    dx.GetTable<T>().Attach(data);
                    dx.Refresh(RefreshMode.KeepCurrentValues, data);
                    dx.SubmitChanges();
                }
            }
        }
    

    【讨论】:

      猜你喜欢
      • 2019-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多