在 2sxc 中,在 App.Data.Create() 之后,有没有办法获取新的 EntityId(或 Guid)或指向新实体的指针?
In 2sxc, after an App.Data.Create(), is there a way to get the new EntityId (or Guid) or a Pointer to the new Entity?
在过去的几年里,我运行 曾几次满足过这个需求。我使用 App.Data.Create()
以编程方式将新实体添加到内容类型,然后需要将该新实体添加到我即将创建的下一个实体(不同内容类型中的新记录)。
由于 .Create() 没有 return 任何东西,什么是获得新项目的最佳、正确或优雅的方式?
这是我的简陋解决方案,但似乎还有更合乎逻辑的方法。同样在繁忙的网站上,如果几乎同时有多个 .Create() ,这可能不起作用。
// find the newest one with the highest EntityId
int maxEntityId = 0;
var tmp = AsList(App.Data["Markers"])
.OrderByDescending(m => m.EntityId)
.FirstOrDefault()
;
if(tmp != null){
maxEntityId = tmp.EntityId;
}
是的,有 :)。
var x = App.Data.Create(...);
// X is now an a IEntity
var dynX = AsDynamic(x);
在过去的几年里,我运行 曾几次满足过这个需求。我使用 App.Data.Create()
以编程方式将新实体添加到内容类型,然后需要将该新实体添加到我即将创建的下一个实体(不同内容类型中的新记录)。
由于 .Create() 没有 return 任何东西,什么是获得新项目的最佳、正确或优雅的方式?
这是我的简陋解决方案,但似乎还有更合乎逻辑的方法。同样在繁忙的网站上,如果几乎同时有多个 .Create() ,这可能不起作用。
// find the newest one with the highest EntityId
int maxEntityId = 0;
var tmp = AsList(App.Data["Markers"])
.OrderByDescending(m => m.EntityId)
.FirstOrDefault()
;
if(tmp != null){
maxEntityId = tmp.EntityId;
}
是的,有 :)。
var x = App.Data.Create(...);
// X is now an a IEntity
var dynX = AsDynamic(x);