如何使用 CData Salesforce 驱动程序找出 Salesforce 多态关系中的对象类型

How to find out the Object Type in a Salesforce Polymorphic relationship using the CData Salesforce Driver

有时 Salesforce 对象与其他 Salesforce 对象具有多态关系。在多态关系中,关系的引用对象可以是几种不同类型的对象之一。这些多态关系是使用 Salesforce 对象中包含的多态字段定义的。多态字段是相关对象可能是几种不同类型对象之一的字段。例如,任务对象的 Who 关系字段可以是联系人或潜在客户。同样,任务的什么关系字段可以是 Salesforce 中的任何非人员对象。

如何使用 CData Salesforce 驱动程序找出多态字段中对象 ID 的对象类型?

Salesforce 有“Polymorphic SOQL" for these. And looks like CDATA supports it.

SELECT Task.Subject, Contact.Name
FROM Task, Contact
WHERE Contact.Type='Contact'

SELECT Id, TYPEOF What 
        WHEN Account THEN Phone 
        WHEN Opportunity THEN Amount 
    END 
FROM Event