2017-02-21 4 views
3

私はコンテンツノードを移動し、いくつかのプロパティを変更したいと思います。しかし、それはトランザクションで行う必要があります。操作はPetaPoco Frameworkで行われ、トランザクションをサポートします。 トランザクションコンテンツの更新を実現するための適切な方法を探しています。Umbraco 7を使用してトランザクションでコンテンツ更新を実行する方法は?

私が達成したいことを実証するために、次の架空のコードを書きました。

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(); 
} 
+1

FYI:コード例は、スコープに実際に使用している構文に驚くほど近似しているため、虚偽コードはスコープが利用可能な場合には最小限の変更しか必要としません。 – Claus

答えて

3

サービスは、トランザクション/スコープをサポートしていないとして、今、この権利を行うには方法は、残念ながらありません:私はこのようなものが必要。

しかし、私たちは現在、v7.6のサービス層での内部使用のトランザクション(スコープ)を実装しているので、将来これを行うことは可能です。コアの名前空間の外側でこれを使うことはいつ可能かはわかりませんが、まだいくつかテストする必要がありますが、間に合うようになります。

+0

ありがとう、クラウス。 –

関連する問題