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

时间: 2024-10-10 10:51:17

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

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

1.关于EF跟新数据库更新指定字段的设置 在EF提交到数据库的时候或许某些字段不想更新.或者自己更新一个模型到数据库去! 1.更新数据不更新一些字段 /// <summary> /// 数据库指定更新字段 /// </summary> [HttpGet] public HttpResponseMessage alterUserInfo(int id) { //先查询 后修改 var user = DbContent.k_user.Where(o => o.id == id).

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

利用Entity Framework修改指定字段中的值一般我们编辑某些模型的时候会用到类似这样的代码: [HttpPost] public ActionResult Edit(Article model) { if (model.Id == 0) { return HttpNotFound(); } using (db) { db.Entry(model).State = EntityState.Modified; db.SaveChanges(); } return RedirectToAct

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

如果你点进了这篇帖子,那么你一定遇到了跟我一样的问题.别看题目的set case when...,我一开始也是第一反应是用case when但是发现并不好使. 问题呢,说得高大上一点:动态指定要修改的字段. 其实小白在这里并没找到我以为的解决方法[笑哭],但是好歹问题是解决了. 这里是原帖的地址: http://stackoverflow.com/questions/4830191/t-sql-using-a-case-in-an-update-statement-to-update-certa

使用Entity Framework和WCF Ria Services开发SilverLight之6:查找指定字段

对数据库表指定字段的查找,又是实际工作中的一项必要工作.SL客户端仅获取实际需要的指定的字段,好处很多,比如:有助于减少网络流量. 有两类这样的使用场景. 1:联表查询不需要外键表 在上一篇中,我们使用了联表查询,在联表查询中,DAL部分的代码是这样的: 我们已经指出,无论是你是否使用Include方法,只要实体类指定了Include特性,客户端都会获取到被关联的Course记录.诚然,有时候我们需要满足联表查询,但是其他时候我们不需要. 2:单表中仅仅需要部分字段 比如:一个表有5个字段,我仅

MySQL批量替换指定字段字符串

MySQL批量替换是我们经常会用到的功能,有时站内包含敏感词,会给我们带来麻烦,而在信息量较大的情况下,一篇篇查找.修改是不现实的. 用MySQL批量替换,甚是轻松.发布在这里供参考,以备不时之需. MySQL批量替换指定字段字符串语句 UPDATE 数据表名 SET 字段名 = replace(字段名, '要替换的字符串', '替换为') WHERE 设定条件; 比如本站今天发现站内关于linux命令的文章 标题不是太好,以前都是以 linux下mkdir命令使用详解---linux创建目录命

Oracle生成查询包含指定字段名对应的所有数据表记录语句

应用场合:已知字段名字,查询数据库中所有数据表中包含该字段名的所有数据表 操作办法:指定字段名,数据库表用户,执行下面查询语句即可 --Oracle生成查询包含指定字段名对应的所有数据表记录语句 declare mycolumnname VARCHAR(255):='userid';--定义要查询的字段名变量,运行前修改成您要查询的字段名myownername VARCHAR(255):='system';--定义要查询的数据库用户名变量,运行前修改成您要查询的数据库用户名mystring NV

将mongodb 数据指定字段导出,然后指定字段导入mysql 实例 及相关问题解决

需求:将mongodb 数据指定字段导出,然后再指定字段导入mysql  表中 直接上图吧, 最后 会将遇到几个问题及解决方案贴出,以便遇到类似问题可以迅速解决(期间所用命令具体用法不在本文详解之内) 将mongodb 数据指定字段导出,所用命令Mongoexport ,具体查阅官方文档: 导出指定二级字段 Mongodb /opt/mongodb/bin/mongoexport  --host yourip  --port yourport   -d app_form -c applicati

EF里查看/修改实体的当前值、原始值和数据库值

EF里查看/修改实体的当前值.原始值和数据库值以及重写SaveChanges方法记录实体状态 - 心态要好 时间 2013-09-10 09:09:00 博客园_汪杰的cnBlogs 原文  http://www.cnblogs.com/oppoic/p/ef_dbpropertyvalues_toobject_clone_setvalues_changetracker_entries.html 本文目录 查看实体当前.原始和数据库值:DbEntityEntry 查看实体的某个属性值:GetVa

如何用SQL语句在指定字段前面插入新的字段?

如何用SQL语句在指定字段前面插入新的字段? 2007-10-17 09:28:00|  分类: 笔记|举报|字号 订阅 create proc addcolumn @tablename varchar(30), --表名 @colname varchar(30), --要加的列名 @coltype varchar(100), --要加的列类型 @colid int --加到第几列 as declare @colid_max int declare @sql varchar(1000) --动态