Triggers ContentDocumentLink中的LinkedEntityId并不总是在触发器之前填充

Triggers ContentDocumentLink中的LinkedEntityId并不总是在触发器之前填充,triggers,salesforce,salesforce-development,salesforce-developer,salesforce-package,Triggers,Salesforce,Salesforce Development,Salesforce Developer,Salesforce Package,因此,我有一个触发器(在插入之前,在ContentDocumentLink上),它是托管包的一部分,不会引发空指针异常。 经过检查,我发现这一行是发生空指针异常的地方 for (ContentDocumentLink contentdoclinkItr : Trigger.new) { String sObjectName = contentdoclinkItr.LinkedEntityId.getSObjectType().getDescribe().getName(); } 我的推

因此,我有一个触发器(在插入之前,在ContentDocumentLink上),它是托管包的一部分,不会引发空指针异常。 经过检查,我发现这一行是发生空指针异常的地方

for (ContentDocumentLink contentdoclinkItr : Trigger.new) {
    String sObjectName = contentdoclinkItr.LinkedEntityId.getSObjectType().getDescribe().getName();
}
我的推论是,LinkedEntityId没有填充,因为在日志中我看不到该字段。

VARIABLE_SCOPE_BEGIN|[2]|cdl|ContentDocumentLink|true|false
VARIABLE_ASSIGNMENT|[2]|cdl|{"IsDeleted":false,"Visibility":"AllUsers","ContentDocumentId":"0694g000000aE6gAAE"}
我们可以看到像IsDelete、Visibility、ContentDocumentId这样的字段,但没有LinkedEntityId的字段条目

因为这是托管包的一部分,所以我无法更改它,所以我将此触发器的代码复制到一个新触发器中,以便在日志中看到LinkedEntityId字段

VARIABLE_SCOPE_BEGIN|[3]|cdl|ContentDocumentLink|true|false
VARIABLE_ASSIGNMENT|[3]|cdl|{"IsDeleted":false,"LinkedEntityId":"0054g000000XvyEAAS","Visibility":"AllUsers","ContentDocumentId":"0694g000000aE6gAAE","ShareType":"I"}