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); }
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); }