gpt4 book ai didi

c# - 使用 FluentMigrator 根据 where 子句删除多行

转载 作者:行者123 更新时间:2023-11-30 14:10:24 24 4
gpt4 key购买 nike

给定 Payment 表、PaymentStatus 表和 PaymentHistory 表,我需要从 PaymentStatus 表中删除 Payment 和 PaymentHistory 表具有关联记录的状态。所以很自然地,这意味着删除付款表之前的历史表。当然历史数据有多个不同状态的支付记录。我需要的是用于删除历史表的 where 子句...sql 看起来有点像这样:

DELETE FROM PaymentHistory 
WHERE PaymentId IN
(SELECT Id FROM Payment WHERE PaymentStatusCode = 'Processing')

我不明白的是如何在 FluentMigrator 中实现这一点。这是我到目前为止所拥有的,但是在 .FromTable() 之后没有 .Where() 或其他可用的扩展方法

Delete.FromTable("PaymentHistory").Row(new {PaymentStatusCode = "Processing"});

在此先感谢您的帮助。

最佳答案

现在我觉得问这个问题很愚蠢......

const string cascadeDeleteScript = 
@"DELETE FROM PaymentHistory WHERE PaymentId IN
(SELECT Id FROM Payment WHERE PaymentStatusCode = 'Processing') ";
Execute.Sql(cascadeDeleteScript);

关于c# - 使用 FluentMigrator 根据 where 子句删除多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24270422/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com