Dynamics crm 2011 检索在其他实体中找到属性值为的实体

Dynamics crm 2011 检索在其他实体中找到属性值为的实体,dynamics-crm-2011,dynamics-crm,Dynamics Crm 2011,Dynamics Crm,例如:我有3个实体:客户、应用程序、案例。客户表单需要从案例表单中获取开始日期、结束日期,并计算日期之间的差异 来自的案例具有应用程序ID,该ID也存在于客户表单中。如何从案例中找到的应用程序ID中获取客户实体,以及如何更新案例到客户的日期?我正在开发一个插件,是否应该有一个关系或查找字段?当一个实体及其属性值被指定为Advanced Find获取所有结果时,“Advanced Find”也可以实现类似的功能 非常感谢您的帮助 就像Henk van Boeijen说的,你可以做以下事情: pr

例如:我有3个实体:客户、应用程序、案例。客户表单需要从案例表单中获取开始日期、结束日期,并计算日期之间的差异

来自的案例具有应用程序ID,该ID也存在于客户表单中。如何从案例中找到的应用程序ID中获取客户实体,以及如何更新案例到客户的日期?我正在开发一个插件,是否应该有一个关系或查找字段?当一个实体及其属性值被指定为Advanced Find获取所有结果时,“Advanced Find”也可以实现类似的功能


非常感谢您的帮助

就像Henk van Boeijen说的,你可以做以下事情:

 private void DoFetchXmlToQueryExpressionConversion()
        {
            // Create a Fetch query that we will convert into a query expression.
            var fetchXml =
                @"<fetch mapping='logical' version='1.0'>
                    <entity name='opportunity'>
                        <attribute name='name' />
                        <filter>
                            <condition attribute='estimatedclosedate' operator='next-x-fiscal-years' value='3' />
                        </filter>
                        <link-entity name='account' from='accountid' to='customerid'>
                            <link-entity name='contact' from='parentcustomerid' to='accountid'>
                                <attribute name='fullname' />
                                <filter>
                                    <condition attribute='address1_city' operator='eq' value='Bellevue' />
                                    <condition attribute='address1_stateorprovince' operator='eq' value='WA' />
                                </filter>
                            </link-entity>
                        </link-entity>
                    </entity>
                </fetch>";

            // Run the query with the FetchXML.
            var fetchExpression = new FetchExpression(fetchXml);
            EntityCollection fetchResult =
                _serviceProxy.RetrieveMultiple(fetchExpression);
            Console.WriteLine("\nOutput for query as FetchXML:");
            DisplayOpportunityQueryResults(fetchResult);

            // Convert the FetchXML into a query expression.
            var conversionRequest = new FetchXmlToQueryExpressionRequest
            {
                FetchXml = fetchXml
            };

            var conversionResponse =
                (FetchXmlToQueryExpressionResponse)_serviceProxy.Execute(conversionRequest);

            // Use the newly converted query expression to make a retrieve multiple
            // request to Microsoft Dynamics CRM.
            QueryExpression queryExpression = conversionResponse.Query;

            EntityCollection result = _serviceProxy.RetrieveMultiple(queryExpression);

            // Display the results.
            Console.WriteLine("\nOutput for query after conversion to QueryExpression:");
            DisplayOpportunityQueryResults(result);

        }
private void DoFetchXmlToQueryExpressionConversion()的
{
//创建一个将转换为查询表达式的获取查询。
var-fetchXml=
@"

你也可以用类似的方式做一个测试

查找关系名称:
转到系统>自定义>案例>查看关系(1:N/N:1/N:N)找到与应用程序的正确关系单击它,查看>获取“名称”,这是架构名称。如果查询将此架构名称作为其链接(加入)您应该会得到正确的结果。

您可以使用“高级查找”对话框创建查询。完成后,您可以获取查询的提取XML(功能区中的按钮)然后检查。在大多数情况下,提取XML可以转换为QueryExpressions。您的问题非常不清楚。是否希望根据案例记录上两个日期字段之间的差异在客户记录上设置一个字段?这些记录之间的关系是否如下:案例N:1应用程序1:N客户?I此操作是否由任一案例日期字段的更改触发?