我有一个表结构,需要一次性更新两个表,以避免违反外键约束。
在原始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(或实体框架plus)发出这样的更新语句?