问:如何在一条语句中更新多个表

时间:2019-04-07 08:48:55

标签: mysql entity-framework entity-framework-plus

我有一个表结构,需要一次性更新两个表,以避免违反外键约束。

在原始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)发出这样的更新语句?

0 个答案:

没有答案