我必须删除产品及其图像。图片在单独的表中,productId 充当外键。 这是这样做的单个查询。
string deleteImages = @"DELETE FROM [ProductsImages] WHERE ProductId IN (SELECT ProductId FROM [Products] WHERE ProductId = @ProductId)";
string deleteProduct = @"DELETE FROM [Products] WHERE ProductId = @ProductId";
db.ExecuteNonQuery(deleteImages);
db.ExecuteNonQuery(deleteProduct);
我没有找到避免编写 2 个不同查询的方法,是否可以在不使用 alter 命令的情况下删除级联?
最佳答案
这是您可以在数据库中定义的内容。只需将 Products 和 ProductsImages 之间的外键关系定义为“ON DELETE CASCADE”。删除产品将自动删除所有关联的 ProductImages。
关于c# - 不使用 Alter 命令,删除级联行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19832560/