Я создаю приложение, которое использует WCF (4.5), EF (6,1), Unity (3.5) и Unity3.Wcf (3,5)Entity Framework транзакций между несколькими SaveChanges
Приложение должно работать ежемесячный процесс, который проверяет изменения, произошедшие в прошлом месяце, и создает запись для процесса утверждения.
Этот процесс будет вызван вызовом метода службы WCF.
Это основная логика:
Get collection of Things
For each Thing:
Get collection of ThingChanges
Calculate changed Amount
Create New ThingApproval
Update each ThingChange in ThingChanges with ThingApproval.ID
Сейчас, насколько мне известно, для того, чтобы получить ThingApproval.ID, мне нужно сделать SaveChanges
после Create New ThingApproval
, который заполнит с идентификатором из БД , Затем мне нужно сделать следующий SaveChanges
либо после каждого Update
, либо один раз после того, как для каждого завершена фиксация всех обновлений.
Если какая-либо часть этого процесса не удается, она должна откатить все изменения, обратно до первого SaveChanges
Как я могу осуществить это?
Возможный дубликат [Entity Framework - Использование транзакций или SaveChanges (false) и AcceptAllChanges()?] (Http://stackoverflow.com/questions/815586/entity-framework-using-transactions-or-savechangesfalse-and- acceptallchanges) –
@GertArnold, который конкретно не отвечает на мой вопрос, так как он не учитывает мое использование DI/IoC - я явно не создаю никакой области – Shevek
@GertArnold на самом деле, я просто прочитал второй ответ, и это кажется подходить. – Shevek