關於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

 

 

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM