目标
我想在一个2sxc应用程序中集中基于人员的信息,并在其他应用程序中重用“人员”。就像新闻应用程序中的作者身份和团队应用程序中的成员身份一样。
我做什么
创建用于人员管理的应用程序(NPi_Person):
在另一个应用程序中,例如新闻应用程序(NPi_News):
问题
NPi_News应用程序的字段 Person_Entity 的下拉列表包含了NPi_Person App的 Person 实体。问题在于人实体不持久。保存并重新打开表格后,字段 Person_Entity 仍然为空。
这是否意味着数据类型为 Entity 且输入类型为基于查询的实体/ item-picker 的字段的来源可能不是来自另一个App?
答案 0 :(得分:1)
实体字段具有在将应用程序加载到缓存时验证的关系。每个应用程序都是独立的,因此关系仅在该应用程序内进行验证。
另一个应用程序的实体可能存在或可能不存在-这是您必须在运行时处理的。
因此,要存储这些内容,您必须使用字符串查询,然后在其他应用程序的cshtml中查找它们(或者您也可以使用从字符串键中查找它们的查询来执行此操作) 。它也非常快,但是您需要手动执行此操作,因为这超出了默认的数据模型。
答案 1 :(得分:0)
关于跨App的基于Person的信息的替代用例的一些想法:我最初的问题中的目标可以通过将DNN用户帐户视为此类Person来实现。在这种情况下,您可以使用 DnnUserProfile 数据源。 下拉查询字段输入类型可以获取用户的DisplayName作为“值”字段的值。它的内容在DNN(安全性..会员帐户..注册设置)中定义。我将其设置为 [FIRSTNAME] [LASTNAME] [[USERID]] 。此内容在编辑表单中有意义,同时USERID用于在运行时从App查询中查找用户信息。缺点是您必须使用DNN UI(URL链接[yourdomain] / ctl / profile / userid / [ID])编辑内容。