仅更新对象的少数字段

时间:2010-09-08 20:31:10

标签: c# entity-framework-4

我尝试在数据库中更新我的objectt任务,但是在参数I中我有一个具有干净历史的对象(我没有从数据库中获取它)。我的问题是:

这是更新对象的最佳方式:

 public static void SaveEditedTask(Task task)
        {
            using (var context=new Entities())
            {
                var taskToModification = context.Tasks.Where(t => t.IDTask == task.IDTask).First();
                taskToModification.IDProject = task.IDProject;

                context.SaveChanges();
            }
        }

我使用EF4

1 个答案:

答案 0 :(得分:1)

您的代码需要对DB进行额外查询。您也可以使用

  public static void SaveEditedTask(Task task) 
  { 
    using (var context=new Entities()) 
    { 
      context.Tasks.Attach(task);
      context.ObjectStateManager.GetObjectStateEntry(task).SetModifiedProperty(t => t.IDProject);

      context.SaveChanges(); 
    } 
  }