gpt4 book ai didi

c# - 无法获取未共享的记录

转载 作者:行者123 更新时间:2023-11-30 18:12:32 25 4
gpt4 key购买 nike

我有一个方案,要查找未与访问团队共享的记录。

QueryExpression query = new QueryExpression("task")
{
ColumnSet = new ColumnSet("activityid", "subject", "customid"),
Criteria = new FilterExpression()
{
Conditions =
{
new ConditionExpression("customid", ConditionOperator.NotNull)
}
},
LinkEntities =
{
new LinkEntity("task", "principalobjectaccess", "activityid", "objectid", JoinOperator.Inner)
{
Columns = new ColumnSet(true),
EntityAlias = "POA",
LinkCriteria = new FilterExpression()
{
Conditions =
{
new ConditionExpression("principaltypecode", ConditionOperator.NotEqual, "team")
}
}
}
}
};

结果包含共享和未共享的记录。

principaltypecode 值包含 SystemUser 或 Team,在我的场景中,我希望记录不与任何团队共享。

更新:XrmToolBox 有一个插件可以帮助我找到未共享的记录。

enter image description here

enter image description here

这个插件可以回答我的问题,但我需要一个 c# 代码来做到这一点。有谁知道这个工具查找此类记录的机制?

最佳答案

您没有直接的方法来检索未共享的记录。但你能做的是

  1. 在 Record 是 Account 或 contact 等的地方获取 principalobjectaccess
  2. 通过这种方式,您将拥有所有共享的帐户/联系人。
  3. 现在遍历所有帐户/联系人并检查您从 principalobjectaccess 获取的 ID 是否匹配
  4. 通过这种方式,您可以获得未共享的列表或帐户/联系人(记录)

    enter image description here

关于c# - 无法获取未共享的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55243334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com