обновление объекта в структуре объекта - PullRequest
4 голосов
/ 11 июля 2011

У меня есть сущность (TerminalCertification), которая имеет отношение к другим сущностям. Я хочу, чтобы пользователь мог обновлять TerminalCertification, но я не могу обновить связанный объект, который обновляется пользователем. Мой код обновления здесь:

public void UpdateTerminalCertification(TerminalCertification terminalCertification)
{
    var lastCertification = db.terminalCertifications.Find(terminalCertification.TerminalCertificationID);

    if (lastCertification==null)
        throw new TerminalCertificationNotFoundException(terminalCertification)                                   
        db.Entry(lastCertification).CurrentValues.SetValues(terminalCertification);
    }

Я искал stackoverflow и нашел код ниже, но в классе DBContext такого ObjectStateManager нет.

ObjectStateManager stateMgr = db.ObjectStateManager;    
ObjectStateEntry stateEntry = stateMgr.GetObjectStateEntry(model);
stateEntry.SetModified();

что мне делать?

Ответы [ 2 ]

4 голосов
/ 12 июля 2011

Вы можете привести ваш DbContext к IObjectContextAdapter, который имеет базовый ObjectContext, а затем использовать ObjectStateManager из этого.

0 голосов
/ 12 июля 2011

Используйте метод UpdateModel или TryUpdateModel внутри вашего контроллера.Если вы делаете это вне контроллера, это не будет работать.

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