Заменить объект Entity Framework - PullRequest
1 голос
/ 16 марта 2010

В приложении MVC у меня есть этот большой объект, который используется в классическом режиме просмотра / редактирования / создания шаблона.

Когда пользователь редактирует объект, я сохраняю его как:

  public bool SetMyObject(MyObject newObject) {
     MyObject current = GetObjectById(newObject.Id);
     current.Prop1 = newObject.Prop1
     ...
     current.PropN = newObject.PropN
     db.SaveChanges();
  }

MyObject довольно большой, поэтому мне интересно, есть ли лучший способ сделать это, не включая присваивания для каждого свойства.Например, что-то вроде db.MyObject.UpdateObject(current, tnew).

Ty.

1 Ответ

3 голосов
/ 16 марта 2010

Вы можете использовать метод ApplyPropertyChanges.

Применяет изменения свойств от отдельного объекта к объекту, уже прикрепленному к контексту объекта.

public bool SetMyObject(MyObject newObject)
{
    db.ApplyPropertyChanges("MyObjectSet", newObject);
    db.SaveChanges();
}

(где "MyObjectSet" - это имя сущности, к которой принадлежит объект)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...