2017-11-07 10 views
1

内部新しく作成されたオブジェクトの実体識別子またはEntityGuidを取得:2sxc - 私はこのようなコードを使用して、私のカスタムAPI内の新しいエンティティを追加するためのカスタムAPIコントローラ

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

この作品の罰金を私はちょうど新しいエンティティを追加する必要がある場合は、しかし、私がより多くの操作を行う必要がある場合、この操作では、この新しく作成されたエンティティのIdまたはGuidを使用する必要があります。それを取得する方法はわかりません。

1つの方法は、この新しいエンティティをタイトルで取得することですが、このタイトルが固有でない場合、私はどのようにわかりませんか?

私はこのコードを試してみてください。機能becouse

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); 

と仕事OK

+0

私のコントローラの中でEntityGuidを設定しようとしましたがOKでした。私は自分の質問にコードを追加する –

答えて

2

私は解決策でOKです新しい実体識別子

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.. 

を取得するために、カスタムAPIコントローラにEntityGuidを設定することはこれが私の最後のコードです...

関連する問題