Frage

Die Microsoft CRM Advanced Developer Extensions haben mich mit ihrer frühen Bindung für Anrufe an CRMs Webservices ein wenig verwöhnt.

Ich schreibe gerade ein Plugin und ich möchte auf Attribute zugreifen, die im Vorbild definiert sind. Alle Beispiele haben das Vorbild als Microsoft. Ich mag es nicht, all diese Zeichenfolge für Attributnamen in mein Plugin zu schärfen, und möchte eine Methode finden, die sie durch frühzeitige Bindung vermeidet.

Hier ist ein Beispiel für eine Besetzung

var preMessageImage = (Microsoft.Xrm.Sdk.Entity)context.PreEntityImages["MyPreImage"]; 

Aber ich muss eine verspätete Bindung verwenden, um auf die Eigenschaften zuzugreifen

var myProperty = preMessageImate.Properties["MyProperty"];

Gibt es eine Möglichkeit, dieses Vorbild einem XRM -Objekt zu geben, das alle Eigenschaften mit der frühen Bindung definiert hat, sodass ich nicht alle Eigenschaftsnamen hardcodieren muss?

War es hilfreich?

Lösung

Sie sollten zunächst das CRMSVCutil-Tool im SDK verwenden, um "Frühgebundene" XRM-Entitäten zu generieren und diese Codedatei in Ihre Plugin-Codebasis aufzunehmen.

Ich schlage vor, die Befehlszeile "DataContextName" zu unterlassen, sodass kein Kontext generiert wird.

Weitere Informationen finden Sie hier auf MSDN: Crmsvcutil auf msdn

Als nächstes sollten Sie die verwenden ToEntity<T> Methode in der Entitätsklasse, um eine stark typische bestimmte Entität zu erhalten. Weitere Informationen hier: Toentity auf MSDN

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top