zoukankan      html  css  js  c++  java
  • EF 指定字段修改

     public virtual void Modify(T model, params string[] ProNames)
            { 
                DbEntityEntry entry = db.Entry<T>(model);
                entry.OriginalValues.SetValues(model);  // 没有此句修改不了
                entry.State = System.Data.EntityState.Unchanged; 
                foreach (string Name in ProNames)
                {
                    entry.Property(Name).IsModified = true;
                }
                //return db.SaveChanges(); 
            }
                     
                             
            public virtual void Modify(T model, Expression<Func<T, bool>> whereLambda, params string[] ModifiedProNames)
            {
                List<T> listModifeding = db.Set<T>().Where(whereLambda).ToList();
                listModifeding.ForEach(s =>
                {
                    Modify(model, ModifiedProNames);
                });
    
                #region 重构前
                //Type t = typeof(T);
                //List<PropertyInfo> proInfo = t.GetProperties(BindingFlags.Instance | BindingFlags.Public).ToList();
                //Dictionary<string, PropertyInfo> dictPros = new Dictionary<string, PropertyInfo>();
    
                //proInfo.ForEach(p =>
                //    {
                //        if (ModifiedProNames.Contains(p.Name))
                //        {
                //            dictPros.Add(p.Name, p);
                //        }
                //    });
    
                //foreach (string Name in ModifiedProNames)
                //{
                //    if (dictPros.ContainsKey(Name))
                //    {
                //        PropertyInfo PInfo = dictPros[Name];
                //        object NewValue = PInfo.GetValue(model, null);
                //        foreach (T us in listModifeding)
                //        {
                //            PInfo.SetValue(us, NewValue, null);
                //        }
                //    }
                //} 
                #endregion
    
                ////return db.SaveChanges();
            }
    EF Modify
  • 相关阅读:
    flask点滴
    CMD批量处理
    pymssql中文乱码
    vb cllection
    更改用户环境变量
    解开未完成的事务,用变量接收另一个存储过程反回的值
    gitlab-ci一些笔记
    Linux系统查看cache/buffer占用比较大的进程
    kubeadm证书过期解决方案
    ceph12版本部署实践
  • 原文地址:https://www.cnblogs.com/valeb/p/6837323.html
Copyright © 2011-2022 走看看