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

  • 相关阅读:
    攻防世界web新手区前六关
    JS-数组基础知识3
    CSRF攻击的原理和spring security对CSRF攻击的解决方法
    Java开发微信公众号
    内部类
    Java Web整合开发(30) -- Spring的ORM模块
    win10安装mysql
    jquery 事件冒泡的介绍以及如何阻止事件冒泡
    jquery中attr和prop的区别介绍
    jQuery 层次选择器
  • 原文地址:https://www.cnblogs.com/lori/p/2249146.html
Copyright © 2011-2022 走看看