2017-02-21 6 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

지금 당장 할 수있는 방법은 불행하게도 없습니다 :이 같은 뭔가가 필요합니다.

그러나 우리는 현재 v.7.6의 서비스 계층에서 내부 용도로 트랜잭션 (범위)을 구현 중이므로 앞으로이 작업을 수행 할 수 있습니다. 코어 네임 스페이스 외부에서 사용할 수 있을지 확신 할 수는 없지만 아직 테스트가 진행 중입니다. 그러나 곧 예정대로 진행될 것입니다.

+0

고마워요, 클로스. –