Entity Framework 4 + Firebird -> Заморозка при получении, если открыта другая транзакция - PullRequest
1 голос
/ 30 июля 2011

Проблема в следующем:

Если я редактирую строку в IBExpert и не фиксирую транзакцию, EF просто зависает при попытке извлечь данные (Entity.ToList ()). Я бы понял, если бы это произошло при попытке обновить строку, но почему EF не может извлечь подтвержденную версию строки?

При зависании, если я фиксирую транзакцию в IBExpert, она немедленно продолжает выборку, и все становится нормально.

Шаги для воспроизведения: 1 -> Редактировать строку в IBExpert или другом программном обеспечении. 2 -> Попробуйте выбрать этот ряд в EF. Он будет зависать, пока вы не совершите другую транзакцию.

Это сводит меня с ума, я нигде не могу найти решения!

1 Ответ

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

Вероятно, все дело в уровнях изоляции транзакций. Если у вас включен параметр WAIT, он будет ждать, пока не будут приняты незафиксированные транзакции, при использовании уровня изоляции READ_COMMITTED (по умолчанию).

Дополнительная информация: http://fhasovic.blogspot.com/2005/02/transaction-isolation-levels-in.html

...