【问题标题】:How to execute content updates in transaction using Umbraco 7?如何使用 Umbraco 7 在事务中执行内容更新?
【发布时间】:2017-02-21 13:40:29
【问题描述】:

我想移动一个内容节点并更改一些属性。但它应该在事务中完成。这些操作是使用 PetaPoco 框架完成的,它支持事务。 寻找实现事务性内容更新的正确方法。

我刚刚编写了以下虚构代码来演示我想要实现的目标。我需要这样的东西:

using (var transaction = DatabaseContext.Database.GetTransaction())
{
    var content = Services.ContentService.GetById(model.Id);
    Services.ContentService.Move(content, parentId);
    content.SetValue("prop", "value");
    Services.ContentService.SaveAndPublishWithStatus(content);
    transaction.Complete();
}

【问题讨论】:

  • 仅供参考:代码示例看起来非常接近我们实际用于作用域的语法,因此您的虚构代码只需要在作用域可用时进行最少的更改。

标签: c# umbraco7


【解决方案1】:

很遗憾,目前无法执行此操作,因为服务不支持事务/范围。

但是,将来可能会这样做,因为我们目前在 7.6 版的服务层中实现了供内部使用的事务(范围)。我不确定什么时候可以在 Core 命名空间之外使用它,因为我们还有一些测试要做,但希望很快。

【讨论】:

  • 谢谢你,克劳斯。
猜你喜欢
  • 2014-05-20
  • 2017-01-10
  • 1970-01-01
  • 2017-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-29
相关资源
最近更新 更多