Я использовал последний ODAC 11.2 Release 4 (11.2.0.3.0), который поддерживает Entity Framework, и он отлично работает.
Если вы получили эту ошибку, «Внутреннее сообщение об исключении: соединение уже является частью локальной или распределенной транзакции»
, вы можете решить эту проблему, следуя второму сообщению BScholz, https://forums.oracle.com/forums/thread.jspa?threadID=2263095
По сути, вам необходимо реализовать SaveChanges_Excuting и SaveChanges_Excuted для источника данных Oracle.
- Переключить на «Просмотр файлов» (LightSwitch по умолчанию отображает «Логическое представление»).
- Добавьте ссылку на «System.Transactions» в проекте сервера.
- Вернитесь к «Логическому представлению»
- Щелкните правой кнопкой мыши Имя источника данных и нажмите «Просмотр кода», чтобыредактировать частичный класс.
Скопируйте и вставьте следующий код:
private TransactionScope _tscope;
partial void SaveChanges_Executing()
{
_tscope = new TransactionScope(TransactionScopeOption.Required,
new TransactionOptions
{
IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted
});
}
partial void SaveChanges_Executed()
{
_tscope.Complete();
_tscope.Dispose();
}