设为首页 加入收藏

TOP

关于EF更新数据库,更新指定字段的设置
2017-10-10 13:50:00 】 浏览:1739
Tags:关于 更新 数据库 指定 段的 设置

1、关于EF跟新数据库更新指定字段的设置

  在EF提交到数据库的时候或许某些字段不想更新、或者自己更新一个模型到数据库去!

    1、更新数据不更新一些字段

    /// <summary>
        /// 数据库指定更新字段
        /// </summary>
       [HttpGet]
        public HttpResponseMessage alterUserInfo(int id)
        {
            //先查询 后修改
            var user = DbContent.k_user.Where(o => o.id == id).FirstOrDefault();
            user.name = "";
            //这个属性不想 提交到数据库 修改
            user.age = 1;
            //设置容器空间某一个模型的某一个字段 不提交到数据库
            //DbContent.Entry是要更新到数据库的整个对象
            DbContent.Entry<k_user>(user).Property("age").IsModified = false;
            DbContent.SaveChanges();
            return returnStringData(user.name);

        }
View Code

    2、直接添加模型更新

   [HttpGet]
        public HttpResponseMessage alterUserInfo(int id)
        {
            //直接创建对象修改到数据库 不用先查询
            k_user user = new k_user()
            {
                id = id,
                name ="",
                age=1,

            };
            //将实体对象加入EF对象容器中 获取容器对象
            DbEntityEntry<k_user> entry = DbContent.Entry<k_user>(user);
            //容器对象状态设置为unchanged
            entry.State = System.Data.EntityState.Unchanged;
            //设置被改变的属性  是否要提交到数据库 的字段
            entry.Property(a=>a.name).IsModified = true;
            entry.Property(a => a.age).IsModified = true;
            DbContent.SaveChanges();
            return returnStringData(user.name);
        }
View Code

 

 

    

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇DotNetCore跨平台~Quartz热部署的.. 下一篇asp.net MVC 上传文件 System.Web..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目