修改 这个 方法 如下。 排除 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(); }
时间: 2024-10-06 17:08:25