Обновление только нескольких полей объекта - PullRequest
0 голосов
/ 09 сентября 2010

Я пытаюсь обновить мою задачу objectt в базе данных, но в параметре у меня есть объект, который имеет чистую историю (я не получаю его из базы данных). И мой вопрос:

Это лучший способ обновить объект:

 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 Ответ

1 голос
/ 09 сентября 2010

Ваш код требует дополнительного запроса к БД.Вы также можете использовать

  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(); 
    } 
  } 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...