0

特定のメール アドレスに基づいてレコードの GUID を返す必要があるメソッドに問題があります。これは私が現時点で持っているものです:

        ColumnSet columnSet = new ColumnSet();
        columnSet.AddColumns(new[] { "leadid" });

        var query = new QueryExpression
        {
            EntityName = "lead",
            ColumnSet = columnSet
        };

        FilterExpression leadFilter = new FilterExpression();
        leadFilter.AddCondition(new ConditionExpression
        {
            AttributeName = "emailaddress1",
            Operator = ConditionOperator.Equal,
            Values = new object[] { emailAddress }
        });

        query.Criteria = leadFilter;

        BusinessEntityCollection result = crmService.RetrieveMultiple(query);

        foreach (BusinessEntity record in result)
        {
            //Guid leadId = ?? Not sure how to extract it. 
        }

A) 必要なレコードは 1 つだけなので、これはやり過ぎのように思えます (ただし、ID がないため、Retrieve を使用できるとは思いません)。B) foreach 内で上記から GUID を実際に取得するにはどうすればよいですか?

ありがとう。

4

1 に答える 1

1

A) エンティティが 1 つしか返されないという保証はありません。たとえば、同じメール アドレスを持つリードが複数ある場合などです。

B)BusinessEntityをクエリした entitype にキャストできます。これは、他のすべてのエンティティ タイプの抽象基本クラスです。

于 2012-06-27T11:51:45.930 に答える