zoukankan      html  css  js  c++  java
  • linq to sql统一更新方法,直接返回更新的对象(解决更新后再刷新数据错误显示问题)

       /// <summary>
            /// 通过主键,得到实体
            /// 始终从数据库中获取数据
            /// </summary>
            /// <param name="keyValues"></param>
            /// <returns></returns> 

    public TEntity Find(params object[] keyValues)
            {
                var mapping = _db.Mapping.GetTable(typeof(TEntity));
                var keys = mapping.RowType.IdentityMembers.Select((m, i) => m.Name + " = @" + i).ToArray();
                TEntity entity = this.DbSet.Where(String.Join(" && ", keys), keyValues).FirstOrDefault();
                this._db.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues, entity);
                return entity;
            }

       /// <summary>
            ///  更新实体
            /// </summary>
            /// <param name="entity"></param>

     public void Update(TEntity entity)
            {
                TEntity originalEntity = this.Find(entity.PrimaryKey);
                if (originalEntity == null)
                    this._db.GetTable<TEntity>().InsertOnSubmit(entity);
                else
                    EmitMapper.ObjectMapperManager.DefaultInstance.GetMapper<TEntity, TEntity>().Map(entity, originalEntity);
                base.SubmitChanges();
            }

  • 相关阅读:
    python入门19 异常及异常处理 异常捕获
    python入门18 继承和多态
    python入门17 类和对象
    python入门16 递归函数 高阶函数
    接口测试get请求url拼接函数(python)
    python入门15 函数
    ssh tunnel 三种模式
    k8s 容器的生命周期钩子
    对k8s service的一些理解
    windows下使用pyinstaller把python文件打包成exe可执行文件
  • 原文地址:https://www.cnblogs.com/lori/p/2249146.html
Copyright © 2011-2022 走看看