В другой вопрос , мне нужно использовать ASPNET BoilerPlate (шаблон EF Core) с базой данных Oracle, но он пока не поддерживает.Поэтому я попытался использовать SQL Server со связанным сервером с базой данных Oracle.
Что я пробовал:
- Создать связанный сервер с именем «LinkedOracle» из SqlServer в базу данных Oracle
Создайте базу данных SqlServer с именем «FakeOracleDb» и создайте представления для таблиц LinkedOracle с помощью:
СОЗДАНИЕ ПРОСМОТРА КЛИЕНТА КАК ВЫБРАТЬ * ИЗ LinkedOracle..MYUSER.CUSTOMER
Теперь у меня есть поддельная база данных SQL Server, сопоставленная с моей базой данных Oracle (1 представление = 1 таблица в Oracle).Я также могу выбрать, обновить, .. в этом представлении.Моя сущность «Клиент» сопоставлена с этим представлением
- Измените строку подключения на FakeOracleDb, данные загружаются нормально, но когда я попытался обновить значение, я столкнулся с ошибкой, как показано ниже:
Не удалось запустить транзакцию для поставщика OLE DB "OraOLEDB.Oracle" для связанного сервера "LinkedOracle"
Может кто-нибудь дать мне какой-нибудь совет, пожалуйста
Обновление 1:
Я попытался открыть транзакцию и запустить оператор обновления в SSMS.Это сработало после того, как я запустил SET XACT_ABORT ON
, так как я могу установить это значение в EF?