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
  • 相关阅读:
    5-1
    浅谈sql中的in与not in,exists与not exists的区别
    理解SQL SERVER中的分区表
    SQLSERVER SQL性能优化
    SQL Server Profiler使用方法
    SQL Server中的三种Join方式
    执行计划
    执行计划sql
    INSERT INTO SELECT
    设计模式学习笔记-单例模式
  • 原文地址:https://www.cnblogs.com/valeb/p/6837323.html
Copyright © 2011-2022 走看看