gpt4 book ai didi

entity-framework - Entity Framework 和交易范围

转载 作者:行者123 更新时间:2023-12-04 06:22:50 26 4
gpt4 key购买 nike

我说我有以下三种方法:

DeleteProduct(int productId);
DeleteProductAttributes(int productId);
DeleteProductManufacturers(int productId);

我还有一个全局(在类中)对象上下文,称之为 _context。
我希望这些方法中的每一种都能独立工作,因为我需要在其他地方使用它们。但是,在删除产品方法中,我希望能够使用事务范围,以防万一出现故障并且我得到没有属性或制造商的产品。所以我的 DeleteProduct 方法现在看起来像这样
public void DeleteProduct(int productId)
{
if (productId == 0)
return;
Product product = GetProductById(productId);
DeleteProductAttributes(productId);
DeleteProductManufacturers(productId);
_context.Products.DeleteObject(product);
}

有没有人知道如何在不破坏我上面的结构的情况下做到这一点?

非常感谢任何帮助。

谢谢

最佳答案

如果所有三种方法都使用存储在 _context 中的相同上下文字段然后他们已经在交易中。所有数据修改(包括删除)只在上下文中标记,只有在调用SaveChanges时才在数据库中执行。 . SaveChanges总是在事务中进行所有修改。

关于entity-framework - Entity Framework 和交易范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6359828/

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