Freigeben über


Generieren von Code mit den Codegenerierungstool-Erweiterungen (Dynamics CRM 2015)

 

Veröffentlicht: November 2016

Gilt für: Dynamics CRM 2015

Entwicklererweiterungen für Microsoft Dynamics CRM 2015 und Microsoft Dynamics CRM Online 2015-Update stellen eine Erweiterungsbibliothek für das CrmSvcUtil.exe-Codegenerierungstool bereit, die verwendet wird, um eine Datenkontextklasse und Datenübertragungsobjekte (DTOs) für alle Microsoft Dynamics 365-Entitäten zu erstellen. Diese Funktion folgt dem gleichen Entwurfsmuster, das SqlMetal im Entitätsframework implementiert. Die Datenkontextklasse ist zuständig für alle Datenvorgänge und stellt IQueryable-Schnittstellen für alle Entitäten in Microsoft Dynamics 365 bereit. Sie können Daten abrufen, indem Sie eine LINQ-Abfrage für IQueryable-Entitätssatzeigenschaften ausführen. Sie können Daten mit den Methoden AddObject, DeleteObject, UpdateObject und SaveChanges ändern.

Die Microsoft.Xrm.Client.CodeGeneration-Erweiterung für das CrmSvcUtil.exe-Codegenerierungstool bietet die folgenden Funktionen:

  • Generiert Entitätsklassen vom statischen Typ.

  • Generiert n:n-Beziehungsklassen.

  • Generiert Klassennamen und Eigenschaftsnamen basierend auf Microsoft Dynamics 365-Schemanamen.

  • Generiert WCF-Datendienste (Astoria/OData)-kompatible Datenkontextklasse zum Verwalten von Entitäten.

In diesem Thema

Entitätsklassen

Datenkontextklassen

Entitätsklassen

Die Entitätsklassen, die das Codegenerierungstool generiert, enthalten die folgenden Funktionen:

  • Unterstützung für WCF-Datendienst-Anmerkungsattribute (Astoria/OData).

  • Stark typisierte Entitätsattributzugriffe, die Folgendes bereitstellen:

    • Zuordnung von Microsoft Dynamics 365-Datentypen in Standard-CLR-Datentypen.

    • Zugriffe für n: 1-Beziehungen, einschließlich:

      • Lazy Loading der verknüpften Entität.

      • Zugriffe auf Fremdschlüssel-IDs.

    • n:n-Beziehungszugriffe, die Lazy Loading des verknüpften Entitätssatzes bereitstellen.

Datenkontextklassen

Die Datenkontextklassen, die von CrmSvcUtil.exe mit der Microsoft.Xrm.Client.CodeGeneration-Erweiterung generiert werden, verwenden die WCF-Datendienste IUpdatable und IExpandProvider-Schnittstelle-Schnittstellen als Folge des Erbens der CrmOrganizationServiceContext-Klasse. Weitere Informationen finden Sie in der folgenden .NET-Dokumentation: IUpdatable-Schnittstelle und IExpandProvider-Schnittstelle. Diese Schnittstellen enthalten die folgenden Funktionen:

  • Stellen Lese-, Erstellen-, Aktualisieren- und Löschvorgänge zum Verwalten von Entitäten bereit.

  • Stellen set-link-, add-link- und remove-link-Vorgänge für die Verwaltung von Beziehungen (1:n, n:1 und n:n) bereit.

  • Unterstützen DataServiceHostFactory zum Veröffentlichen von REST-Diensten und Webdiensten.

  • Stellen einen LINQ-Abfragenanbieter für Abfragen vom statischen oder dynamischen Typ bereit.

  • Dynamische Abfragen benötigen keine Codegenerierung

  • Verarbeiten das Zwischenspeichern im Hintergrund.

Eine einzelne Kontextklasse wird generiert, um Entitätssatzzugriffe vom statischen Typ bereitzustellen. Zudem werden mehrere Unterklassen generiert, um mithilfe der Abfrage- und Änderungsabfangfunktionen von WCF-Datendiensten umfangreichere Portalfunktionen bereitzustellen.

Siehe auch

AddObject
DeleteObject
UpdateObject
SaveChanges
Entwicklererweiterungen für Microsoft Dynamics CRM 2015
Objektmodell für den Kontext von Entwicklererweiterungen (Dynamics CRM 2015)
Verwendung und Befehlszeilenparameter der Erweiterung CrmSvcUtil.exe (Dynamics CRM 2015)
Verwenden der generierten Klassendateien

© 2017 Microsoft. Alle Rechte vorbehalten. Copyright