Entity Framework. Insert Or Update в одном SQL-запросе из-за Триггера
Есть база данных MS SQL Server, в ней две таблицы: Таблица1, Таблица2. Есть логика на c# с использованием Entity Framework, где создается контекст базы данных, затем производится запись в Таблицу1 (новая запись), и затем запись в Таблицу2 (новая или обновление). Затем вызывается (context.SaveChanges()). Все работало отлично.
Но в некоторых базах данных, в зависимости от потребностей клиентов устанавливаются клиентские триггеры, которые выполняют какие-то автоматизации клиентов, в зависимости от потребностей клиентов.
Тут выяснилось, что некоторые триггеры создают проблемы, а именно: триггер установлен на первую таблицу на операции (INSERT,UPDATE) и проверяет некоторые значения записываемых данных и если они соответствуют условию, создает или обновляет запись в Таблица2. В довесок логика добавляет новую запись в Таблицу2, хотя должна была уже ее лишь обновить.
В результате в Таблице2 создаются две записи, вместо одной – из триггера и из логики, что не должно происходить. Логика должна как то определить, что запись уже существует. В моем представлении, EF должен сгенерировать запрос на Insert или Update в одном SQL-выражении (IF EXISTS (..) UPDATE.. ELSE INSERT)
Как этого добиться на уровне EF? Спасибо.