要在我的自定义API中添加新实体,我使用以下代码:
var tagGroup = new Dictionary<string, object>();
tagGroup.Add("Title", "Some new tagGroup name");
App.Data.Create("TagGroup", tagGroup, "WebApiUser");
如果我只需要添加新实体,这项工作正常,但如果我需要做更多操作,并且在这个操作中我需要使用这个新创建的实体的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 :(得分:2)
我可以在自定义api控制器中设置EntityGuid以获取新的EntityId
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..
这是我的最终代码......