Транзакция продвигается для распространения в Entity Framework - PullRequest
0 голосов
/ 02 апреля 2012

У нас есть проблема с транзакциями, которые продвигаются к распределению, когда это не должно. Мы используем Entity Framework 4.1 и TransactionScope в службе WCF:

    [OperationBehavior(TransactionScopeRequired = true)]
    [TransactionFlow(TransactionFlowOption.Allowed)]
    public void SetCapLength(Guid orderId, int capLength){}

ObjectContext-экземпляр создается для каждого запроса на обслуживание, и только один используется в течение всего запроса.

Мы используем SQL Server 2008 R2.

Продвижение в распределенную транзакцию выглядит очень случайным.

Кто-нибудь знает, что может заставить E.F. продвигать нашу транзакцию?

1 Ответ

0 голосов
/ 02 апреля 2012

Вы используете TransactionFlowOption - поэтому, если вам повезет, и все правильно настроено, транзакция из клиентских потоков в вашу службу = распределенная транзакция.Все локальные транзакции на стороне обслуживания присоединятся к распределенной транзакции.

...