MS CRM 2011:如何获取特权的关联实体名称

时间:2014-09-10 07:55:35

标签: dynamics-crm-2011

我正在从CRM中检索所有权限的列表:

QueryExpression q = new QueryExpression("privilege") {ColumnSet = new ColumnSet(true)};

var list = service.RetrieveMultiple(q).Entities;

这很好用。

我现在想知道每个权限适用的实体名称。即特权“prvDeleteNote”适用于实体“注意”。

直接用SQL查询数据库没问题,但我更希望从服务中检索信息。

干杯

2 个答案:

答案 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,并且很惊讶它返回实体的名称。