Сохранить изменения в объекте, не являющемся частью текущего контекста БД - PullRequest
1 голос
/ 21 сентября 2011

У меня есть веб-сервис для получения объекта, например

public Blah GetBlah(int blahID) {
   var db = new BlahContext...
}

и другой веб-сервис

public UpdateBlah(int blahID) {
    var db = new BlahContext...
    var blah = GetBLah(blahID);
    blah.someVariable = false;
    ... // how do I save this object?
}

Но я не думаю, что смогу сделать SubmitChanges, так как объект не был создан в том же контексте.

1 Ответ

0 голосов
/ 04 октября 2011

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

Тогда вы можете выбрать две альтернативы:

1. Картографирование (ручное или автоматическое)

public UpdateBlah(object blahUpdated) {
    var db = new BlahContext...
    var blah = GetBLah(blahID);
    // manually mapping
    blah.someVariable = blahUpdated.someVariable;
    // or using some kind to automapper (automapper.codeplex.com)
    ... 
    db.SubmitChanges()
}

2. Приложить

Вы можете attach объект к новому тексту данных

public UpdateBlah(object blahUpdated) {
    var db = new BlahContext...
    db.blahs.Attach(blahUpdated);
    db.SubmitChanges()
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...