我正在从CRM中检索所有权限的列表:
QueryExpression q = new QueryExpression("privilege") {ColumnSet = new ColumnSet(true)};
var list = service.RetrieveMultiple(q).Entities;
这很好用。
我现在想知道每个权限适用的实体名称。即特权“prvDeleteNote”适用于实体“注意”。
直接用SQL查询数据库没问题,但我更希望从服务中检索信息。
干杯
答案 0 :(得分:1)
据我所知privilege
实体没有财产来识别相关实体。
答案 1 :(得分:0)
事实证明,这个FetchXML返回了我想要的东西:
<fetch mapping=""logical"" version=""1.0"">
<entity name=""privilege"">
<attribute name=""privilegeid"" />
<attribute name=""name"" />
<attribute name=""canbelocal"" />
<attribute name=""canbedeep"" />
<attribute name=""canbeglobal"" />
<attribute name=""canbebasic"" />
<link-entity name=""privilegeobjecttypecodes"" from=""privilegeid"" to=""privilegeid"" link-type=""outer"" alias=""otc"">
<attribute name=""objecttypecode"" />
</link-entity>
</entity>
</fetch>
我可以通过以下方式访问Type:
((AliasedValue)privilegeEntity.Attributes["otc.objecttypecode"]).Value.ToString()
其中privilegeEntity是响应中的一个实体。
我期待int值ObjectTypeCode,并且很惊讶它返回实体的名称。