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();
            }

  • 相关阅读:
    Wolfram常用计算
    soapUI接口关联教程
    时间序列预测线上充值数据
    基于MySQL分析线上充值留存率
    更改用户资料需要完善脚本
    MySQL建立RFM模型
    Scrcpy使用入门
    虾皮Shopee社招面经分享(大数据开发方向),附内推方式
    MySQL Binlog 解析工具 Maxwell 详解
    MySQL Binlog 介绍
  • 原文地址:https://www.cnblogs.com/lori/p/2249146.html
Copyright © 2011-2022 走看看