У меня есть структура таблиц, в которой мне нужно обновить две таблицы за один раз, чтобы избежать нарушений ограничений внешнего ключа.
В сыром SQL это выглядит примерно так:
UPDATE Feature, Fact
SET Feature.FeatureLicense= 17,
Feature.BundleLicense = 5
Fact.BundleLicense= 5
WHERE
Feature.FactID=50
AND Fact.ID=50;
(например, https://stackoverflow.com/a/9417254/1105889)). Идея состоит в том, чтобы перенести факт, включая его функции, в другую лицензию комплекта, где лицензия комплекта объединяет несколько лицензий компонента. База данных ограничена, так что функция может быть лицензирована только в том случае, если комплектбыл лицензирован тоже.
В MySQL я не могу разделить это на два оператора, разделяющих транзакцию, потому что в MySQL ограничения внешнего ключа оцениваются сразу, а не только при фиксации.
Есть ли способзаставить EF (или Entity Framework Plus) генерировать такой оператор обновления?