0

Я создаю приложение, которое использует 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

Как я могу осуществить это?

+0

Возможный дубликат [Entity Framework - Использование транзакций или SaveChanges (false) и AcceptAllChanges()?] (Http://stackoverflow.com/questions/815586/entity-framework-using-transactions-or-savechangesfalse-and- acceptallchanges) –

+0

@GertArnold, который конкретно не отвечает на мой вопрос, так как он не учитывает мое использование DI/IoC - я явно не создаю никакой области – Shevek

+0

@GertArnold на самом деле, я просто прочитал второй ответ, и это кажется подходить. – Shevek

ответ