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

EF 指定字段修改的更多相关文章

  1. EF部分字段修改 自动忽略为null字段

    传入一个实体 student(){id = 1,name = "测试" age = null,sex = null} 下面 是修改的方法 public async Task Edi ...

  2. Entity Framework 同一个上下文中,如何进行对同一个实体进行指定字段更新

    转自 http://www.cnblogs.com/flyfish2012/archive/2013/03/13/2957125.html 我在上一篇EF更新指定的字段当中介绍了,如何在EF指定字段进 ...

  3. C#NPOI.RabbitMQ.EF.Attribute.HttpRuntime.Cache.AD域.List<T>根据指定字段去重.前端JQuery.Cache.I18N(多语言).data-xx(自定义属性)

    使用NPOI 操作Excel 个人使用的电脑基本默认安装Excel 操作起来 调用Excel的组件便可.如果是一台服务器.没有安装Excel,也就无法调用Excel组件. 在此推荐第三方插件.NPOI ...

  4. 关于EF更新数据库,更新指定字段的设置

    1.关于EF跟新数据库更新指定字段的设置 在EF提交到数据库的时候或许某些字段不想更新.或者自己更新一个模型到数据库去! 1.更新数据不更新一些字段 /// <summary> /// 数 ...

  5. 利用Entity Framework修改指定字段中的值

    利用Entity Framework修改指定字段中的值一般我们编辑某些模型的时候会用到类似这样的代码: [HttpPost] public ActionResult Edit(Article mode ...

  6. entity framwork修改指定字段

    1.ef修改时指修改指定字段public void ChangePassword(int userId, string password) { var user = new User() { Id = ...

  7. 开发笔记:基于EntityFramework.Extended用EF实现指定字段的更新

    今天在将一个项目中使用存储过程的遗留代码迁移至新的架构时,遇到了一个问题——如何用EF实现数据库中指定字段的更新(根据UserId更新Users表中的FaceUrl与AvatarUrl字段)? 原先调 ...

  8. EF更新指定字段.或个更新整个实体

    EF更新指定字段.或个更新整个实体 更新整个实体: public bool Update(Company compay) { if (compay != null) { dbContext.Entry ...

  9. 【sql技巧】mysql修改时,动态指定要修改的字段 update `table` set (case when ....) = 1 where id = xx

    如果你点进了这篇帖子,那么你一定遇到了跟我一样的问题.别看题目的set case when...,我一开始也是第一反应是用case when但是发现并不好使. 问题呢,说得高大上一点:动态指定要修改的 ...

随机推荐

  1. c3p0 操作

    E3p0连接池 c3p0-config.xml c3p0-config.xml(必须叫这个名字),然后必须放在工程目录的src下面 注意:c3p0里面可以配置多个连接信息,可以给每个配置起个名字,这样 ...

  2. 画一条0.5px的线

    通过伪类元素:after为其添加样式,用transform:scaleY令其在垂直方向缩小0.5倍 .div:after{ height: 1px; transform: scaleY(0.5); t ...

  3. xlwt 写sheet xls 文件

    import xlwtworkbook = xlwt.Workbook()#创建bookworksheet = workbook.add_sheet('My Sheet') #添加sheet#背景色的 ...

  4. js如何实现sign算法验证?

    https://segmentfault.com/q/1010000011892180

  5. 2015-10-21 C#1

    C#(一) 一.C#的数值类型 byte----字节型 short---短整型 int------整型 long----长整型 char----字符型 float----单精度型 double--双精 ...

  6. Vue入门笔记(一)--基础部分

    github地址:https://github.com/iTao9354/basicVue(demo01-28) 一.初识Vue 使用双大括号{{message}}将数据渲染进DOM中.      可 ...

  7. python_day4

    昨日回顾:     1. 整型         python2  有长整型        python3  没有长整型     2.布尔值        转换     3.字符串详解        下 ...

  8. jvm-垃圾收集

    概述 说起垃圾收集,大部分人都把这项技术当做Java语言的伴生产物.其实,GC主要就是考虑完成三件事情: 哪些内存需要回收 什么时候回收 如何回收. 经过半个多世纪的发展,目前内存的动态分配与内存的回 ...

  9. linux基本网络配置

    -- linux基本网络配置管理 rhel6开始有一个networkmanger的网络配置服务(可以图形配置网络,拔号,无线连接,vpn等)但此服务开启会造成你的ip不固定(会dhcp获取),而且后期 ...

  10. SQL-61 对于employees表中,给出奇数行的first_name

    题目描述 对于employees表中,给出奇数行的first_nameCREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` ...