实体框架和交易范围

| 我说我有以下三种方法:
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);
}
有人在不破坏我上面的结构的情况下对我如何做到有任何见解吗? 任何帮助,不胜感激。 谢谢     
已邀请:
        如果所有三种方法都使用存储在“ 2”字段中的相同上下文,则它们已经在事务中。所有数据修改(包括删除)仅在上下文中标记,并且仅在调用marked3ѭ时在数据库中执行。
SaveChanges
始终进行事务中的所有修改。     

要回复问题请先登录注册