zoukankan      html  css  js  c++  java
  • MVC EF 修改 封装类 通用泛型方法(二)


    修改 这个 方法 如下。 排除 null 值。

      /// <summary>
            ///  修改 多数 数据, 个别数据除外,  proNames 不写 则是 修改全部
            /// </summary>
            /// <param name="model">要修改的实体对象(对面 过滤null 值)</param>
            /// <param name="proNames">不需要要修改的 属性 名称</param>
            /// <returns></returns>
            public int ModifyWithOutproNames<T>(T model, params string[] proNames) where T : class
            {
    
                DbEntityEntry entry = db.Entry<T>(model);
                entry.State = EntityState.Unchanged;
                var properties = model.GetType().GetProperties();
                for (int i = 0; i < properties.Length; i++)
                {
                    if (properties[i].PropertyType.Name.Contains("ICollection")// 排除 外键  
                        || proNames.Contains(properties[i].Name)|| properties[i].GetValue(model, null)==null) continue;
                    entry.Property(properties[i].Name).IsModified = true;
                }
                db.Configuration.ValidateOnSaveEnabled = false;
                return db.SaveChanges();
            }
  • 相关阅读:
    ASP.NET 学习日志
    igoogle 小工具
    nios ann 语音识别
    ASP 3.5 读书笔记
    C# delegate and event 续
    paper
    网站白痴的 ASP.NET website 学习日志
    盒子模型
    将对象序列化成json
    不错的Oracle 存储过程例子
  • 原文地址:https://www.cnblogs.com/bingguang/p/4457403.html
Copyright © 2011-2022 走看看