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


    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

     

        

  • 相关阅读:
    Neutron分析(5)—— neutron-l3-agent中的iptables
    Neutron分析(4)—— neutron-dhcp-agent
    Neutron分析(3)—— neutron-l3-agent
    Neutron分析(2)——neutron-server启动过程分析
    Neutron分析(1)——简介
    RDO部署openstack(3)
    RDO部署openstack(2)
    Peewee之playhouse中的数据库连接池(原创)
    图数据库简介(转)
    RESTful API 最佳实践(转)
  • 原文地址:https://www.cnblogs.com/zhouyukai/p/7451534.html
Copyright © 2020-2023  润新知