2017-11-07 14 views
1

내부에 새로 생성 된 객체의 ENTITYID 또는 EntityGuid 받기 :2sxc 나는 다음과 같은 코드를 사용하여 내 사용자 지정 API 내부에 새 개체를 추가하려면 사용자 정의 API를 컨트롤러

var tagGroup = new Dictionary<string, object>(); 
    tagGroup.Add("Title", "Some new tagGroup name"); 
    App.Data.Create("TagGroup", tagGroup, "WebApiUser"); 

이 작품의 벌금을 그냥 새 개체를 추가해야하는 경우, 하지만 더 많은 작업을해야하고이 opetarions에서이 새로 생성 된 엔터티의 ID 또는 Guid를 사용해야 할 경우 어떻게 가져올 지 모릅니다.

한 가지 방법은 제목으로 새 엔티티를 다시 얻는 것입니다. 그러나이 제목이 고유하지 않은 경우 어떻게 해야할지 모르겠습니다.

이 코드로 시도 : 기능 렸기 때문에

dynamic obj1 = App.Data.Create("TagGroup", tagGroup, "Web Api User"); 
    // or 
    var obj2 = App.Data.Create("TagGroup", tagGroup, "Web Api User"); 

그러나 얻을 오류가 어떤 값을 반환하지 않습니다 ..이 일을 만드는 방법 다른 방법이 있나요?

IsPublished와 같이 미리 새 엔터티의 GUID를 정의 할 수 있습니까?

====================

해결 방법 1 :

var tGuid = System.Guid.NewGuid().ToString(); 
tagGroup.Add("EntityGuid", tGuid); 

및 작동 확인을

+0

컨트롤러 내부에서 EntityGuid를 설정하고 확인을 시도했습니다. 내 질문에 코드를 추가합니다. –

답변

2

내가 솔루션으로 OK입니다 새로운 ENTITYID를 얻기 위해 사용자 정의 API를 컨트롤러에 EntityGuid을 설정

var tGuid = System.Guid.NewGuid(); 
var tagGroup = new Dictionary<string, object>(); 
tagGroup.Add("Title", "Some new tagGroup name"); 
tagGroup.Add("EntityGuid", tGuid); 
App.Data.Create("TagGroup", tagGroup, "WebApiUser"); 

var tNewObj =AsDynamic(App.Data["TagGroup"]).Where(x=>x.EntityGuid==tGuid).First(); 
var tNewEntityId = tNewObj.EntityId; 
// do whatewer you want with this entity.. 

이 내 마지막 코드입니다 ...

,