Κοινοποίηση μέσω


pac modelbuilder

Δημιουργία κώδικα για API και πίνακες του Dataverse

Χρησιμοποιήστε την pac modelbuilder build εντολή για να δημιουργήσετε πρώιμες .NET για πίνακες Dataverse, προσαρμοσμένα μηνύματα και μια κλάση που προέρχεται από την Κλάση OrganizationServiceContext. Μάθετε περισσότερα σχετικά με τη χρήση αυτής της εντολής για τη δημιουργία πρώιμων κλάσεων

Η κλάση που προέρχεται από OrganizationServiceContextτο :

  • Διατηρεί την κατάσταση στο πρόγραμμα-πελάτη για την υποστήριξη δυνατοτήτων όπως η διαχείριση αλλαγών.
  • Υλοποιεί τη διασύνδεση System.Linq.IQueryable και μια υπηρεσία παροχής ερωτημάτων .NET Language-Integrated Query (LINQ), ώστε να μπορείτε να συντάξετε ερωτήματα LINQ χρησιμοποιώντας δεδομένα dataverse.

Για περισσότερες πληροφορίες σχετικά με τις δυνατότητες που επιτρέπει αυτό το εργαλείο δημιουργίας κώδικα:

Σημείωμα

Η pac modelbuilder build εντολή αντικαθιστά την CrmSvcUtil.exe κατανεμημένη με το πακέτο Microsoft.CrmSdk.CoreTools NuGet.

Εντολές

Command Περιγραφή
pac modelbuilder build Δημιουργεί ένα μοντέλο κώδικα για API και πίνακες του Dataverse

pac modelbuilder build

Δημιουργεί ένα μοντέλο κώδικα για API και πίνακες του Dataverse

Σημείωμα

Για να μπορέσετε να χρησιμοποιήσετε την build εντολή, πρέπει πρώτα να συνδεθείτε στο Dataverse χρησιμοποιώντας την pac εντολή "Δημιουργία ελέγχου ταυτότητας ". Εάν έχετε πολλές συνδέσεις, χρησιμοποιήστε τον pac έλεγχο ταυτότητας για να επιλέξετε το περιβάλλον Dataverse για το οποίο θέλετε να δημιουργήσετε κώδικα.

Παράδειγμα

Το παρακάτω παράδειγμα δείχνει πώς μπορείτε να χρησιμοποιήσετε την build εντολή με μια γραμμή εντολών.

pac modelbuilder build ^
  --entitynamesfilter account;contact ^
  --generatesdkmessages ^
  --messagenamesfilter examp_* ^
  --emitfieldsclasses ^
  --emitVirtualAttributes ^
  --namespace MyApps.Model ^
  --outdirectory c:\src\MyApps\Model ^
  --writesettingsTemplateFile ^
  --serviceContextName OrgContext

Και η ίδια εντολή που χρησιμοποιεί το PowerShell:

pac modelbuilder build `
  --entitynamesfilter 'account;contact' `
  --generatesdkmessages `
  --messagenamesfilter 'examp_*' `
  --emitfieldsclasses `
  --emitVirtualAttributes `
  --namespace 'MyApps.Model' `
  --outdirectory 'c:\src\MyApps\Model' `
  --writesettingsTemplateFile `
  --serviceContextName 'OrgContext'

Σημαντικό

Όταν χρησιμοποιείτε το PowerShell, πρέπει να περικλείετε παραμέτρους συμβολοσειρών με μονά εισαγωγικά.

Το αποτέλεσμα αυτής της εντολής είναι ότι τα ακόλουθα αρχεία εγγράφονται στον c:\src\MyApps\Model φάκελο.

C:\src\MyApps\Model\
|---Οντότητες\
| |--account.cs
| |--contact.cs
|---OptionSets\
| |--addresstypes.cs
|---Messages\
| |--examp_myapi.cs
|---EntityOptionSetEnum.cs
|---builderSettings.json
|---OrgContext.cs

builderSettings.json περιέχει τις παραμέτρους που καθορίσατε για την εντολή. Μπορείτε να το χρησιμοποιήσετε για γρήγορη αναγέννηση των αρχείων καθώς αλλάζουν τα πράγματα. Το παρακάτω παράδειγμα δείχνει τη χρήση του αρχείου που δημιουργήθηκε buildersettings.json από την πρώτη εντολή χρησιμοποιώντας τις ρυθμίσειςTemplateFile:

pac modelbuilder build `
  --outdirectory c:\src\MyApps\Model `
  --settingsTemplateFile c:\src\MyApps\Model\builderSettings.json

Μπορείτε επίσης να επιλέξετε να δημιουργήσετε ένα builderSettings.json αρχείο και να το χρησιμοποιήσετε αντί να μεταβιβάσετε όλες τις παραμέτρους στην εντολή. Ακολουθεί ένα παράδειγμα που ισοδυναμεί με το πρώτο παράδειγμα παραπάνω:

{
  "suppressINotifyPattern": false,
  "suppressGeneratedCodeAttribute": false,
  "language": "CS",
  "namespace": "MyApps.Model",
  "serviceContextName": "OrgContext",
  "generateSdkMessages": true,
  "generateGlobalOptionSets": false,
  "emitFieldsClasses": true,
  "entityTypesFolder": "Entities",
  "messagesTypesFolder": "Messages",
  "optionSetsTypesFolder": "OptionSets",
  "entityNamesFilter": [
    "account",
    "contact"
  ],
  "messageNamesFilter": [
    "examp_*"
  ],
  "emitEntityETC": false,
  "emitVirtualAttributes": true
}

Εάν μεταβιβάσετε παραμέτρους στην εντολή κατά τη χρήση της παραμέτρου settingsTemplateFile , οι παράμετροι που μεταβιβάζονται στην εντολή θα αντικαταστήσουν εκείνες που έχουν οριστεί στο builderSettings.json αρχείο.

Δεν μπορείτε να χρησιμοποιήσετε την παράμετρο settingsTemplateFile και την παράμετρο writesettingsTemplateFile ταυτόχρονα.

Απαιτούμενες παράμετροι για modelbuilder build

--outdirectory -o

Δημιουργήστε έναν κατάλογο για αρχεία οντότητας, μηνύματος και optionset.

Προαιρετικές παράμετροι για modelbuilder build

--emitentityetc -etc

Όταν οριστεί, περιλαμβάνει την οντότητα ETC ( κώδικας τύπου οντότητας ) στον κωδικό που δημιουργείται.

Αυτή η παράμετρος δεν απαιτεί καμία τιμή. Είναι διακόπτης.

--emitfieldsclasses -efc

Δημιουργήστε μια δομή σταθερών που περιέχει όλα τα ονόματα πεδίων κατά οντότητα κατά τη στιγμή της δημιουργίας κώδικα.

Αυτή η παράμετρος δεν απαιτεί καμία τιμή. Είναι διακόπτης.

--emitvirtualattributes -eva

Όταν οριστεί, περιλαμβάνει χαρακτηριστικά ονόματος υποστήριξης για αναζητήσεις που επιτρέπουν φιλτράρισμα στις τιμές χαρακτηριστικών κύριου ονόματος των χαρακτηριστικών αναζήτησης.

Αυτή η παράμετρος δεν απαιτεί καμία τιμή. Είναι διακόπτης.

--entitynamesfilter -enf

Φιλτράρει τη λίστα των οντοτήτων που ανακτώνται κατά την ανάγνωση δεδομένων από το Dataverse. Μεταβιβάζεται ως λίστα διαχωρισμένη με ερωτηματικό. Χρήση της οντότητας φόρμας<,><entitylogicalname>

--entitytypesfolder -etf

Όνομα φακέλου που περιέχει οντότητες. Το προεπιλεγμένο όνομα είναι "Οντότητες".

--environment -env

Καθορίζει το dataverse προορισμού. Η τιμή μπορεί να είναι μια διεύθυνση URL Guid ή απόλυτη διεύθυνση URL https. Όταν δεν καθορίζεται, θα χρησιμοποιηθεί ο ενεργός οργανισμός που επιλέγεται για το τρέχον προφίλ ελέγχου ταυτότητας.

--generateGlobalOptionSets -go

Εκπέμπουν όλα τα καθολικά σύνολα επιλογών. Σημείωση: Εάν μια οντότητα περιέχει μια αναφορά σε ένα καθολικό σύνολο επιλογών, εκπέμπεται ακόμα και αν δεν υπάρχει αυτός ο διακόπτης.

--generatesdkmessages -a

Όταν οριστεί, εμφανίζει μηνυμάτων Sdk ως μέρος της δημιουργίας κώδικα.

Αυτή η παράμετρος δεν απαιτεί καμία τιμή. Είναι διακόπτης.

--language -l

Η γλώσσα που θα χρησιμοποιηθεί για τον κωδικό διακομιστή μεσολάβησης που δημιουργήθηκε. Αυτή η τιμή μπορεί να είναι είτε "CS" είτε "VB". Η προεπιλεγμένη γλώσσα είναι "CS".

--logLevel -ll

Επίπεδο αρχείου καταγραφής. Η προεπιλεγμένη τιμή είναι "Απενεργοποιημένο".

Χρησιμοποιήστε μία από αυτές τις τιμές:

  • Off
  • Critical
  • Error
  • Warning
  • Information
  • Verbose
  • ActivityTracing
  • All

--messagenamesfilter -mnf

Φιλτράρει τη λίστα των μηνυμάτων που ανακτώνται κατά την ανάγνωση δεδομένων από το Dataverse. Τα απαιτούμενα μηνύματα που μεταβιβάζονται ως λίστα διαχωρισμένων με ερωτηματικό (Δημιουργία, Ενημέρωση, Διαγραφή, Ανάκτηση, RetrieveMultiple, Συνεργάτης και Κατάργηση συσχέτισης) περιλαμβάνονται πάντα. Χρησιμοποιήστε έναν τελικό ή αρχικό αστερίσκο (*) με τα ονόματα των μηνυμάτων για να επιτρέψετε όλα τα μηνύματα που ξεκινούν ή τελειώνουν με μια συμβολοσειρά. Χρήση του ονόματος μηνύματος φόρμας <><όνομα μηνύματος>.

--messagestypesfolder -mtf

Όνομα φακέλου που περιέχει μηνύματα. Το προεπιλεγμένο όνομα είναι "Μηνύματα".

--namespace -n

Ο χώρος ονομάτων για τον κώδικα που δημιουργείται. Ο προεπιλεγμένος χώρος ονομάτων είναι ο καθολικός χώρος ονομάτων.

--optionsetstypesfolder -otf

Όνομα φακέλου που περιέχει σύνολα επιλογών. Το προεπιλεγμένο όνομα είναι "Σύνολα επιλογών".

--serviceContextName -sctx

Το όνομα για το περιβάλλον υπηρεσίας που δημιουργήθηκε. Εάν μεταβιβαστεί μια τιμή, χρησιμοποιείται για το περιβάλλον υπηρεσίας. Εάν όχι, δεν δημιουργείται περιβάλλον υπηρεσίας.

--settingsTemplateFile -stf

Περιέχει ρυθμίσεις που θα χρησιμοποιηθούν για αυτήν την εκτέλεση του Dataverse Model Builder, παρακάμπτει τυχόν διπλότυπες παραμέτρους στη γραμμή εντολών. Δεν είναι δυνατός ο ορισμός του όταν χρησιμοποιείται η συνάρτηση --writesettingstemplate.

--suppressGeneratedCodeAttribute -sgca

Όταν οριστεί, αυτό καταστέλλει όλα τα αντικείμενα που δημιουργήθηκαν που επισημαίνονται με τον μηχανισμό δημιουργίας κώδικα και την έκδοση

Αυτή η παράμετρος δεν απαιτεί καμία τιμή. Είναι διακόπτης.

--suppressINotifyPattern

Όταν ενεργοποιηθεί, δεν εγγράφει τα περιτυλίγματα INotify για ιδιότητες και.

--writesettingsTemplateFile -wstf

Όταν οριστεί, εγγράφει ένα αρχείο ρυθμίσεων στον κατάλογο εξόδου με τις τρέχουσες ρυθμίσεις που έχουν διαβιβαστεί ή τις προεπιλεγμένες ρυθμίσεις.

Παρατηρήσεις

Ακολουθούν προτάσεις για τη χρήση της εντολής pac modelbuilder build .

Ορισμός παραμέτρων entitynamesfilter και messagenamesfilter

Προσοχή

Συνιστούμε να χρησιμοποιήσετε τις παραμέτρους entitynamesfilter και messagenamesfilter για να περιορίσετε τα αρχεία που δημιουργούνται σε εκείνα που θα χρησιμοποιήσετε στο έργο σας. Διαφορετικά, η εντολή δόμησης θα επιχειρήσει να δημιουργήσει κώδικα για όλους τους πίνακες και τα μηνύματα από το Dataverse. Αυτό θα χρειαστεί πολύ χρόνο για την επεξεργασία.

Οι για τα μηνύματα που βρέθηκαν στον χώρο ονομάτων Microsoft.Crm.Sdk.Messages και Microsoft.Xrm.Sdk.Messages δεν δημιουργούνται χρησιμοποιώντας αυτή την εντολή. Θα πρέπει να συμπεριλάβετε μόνο μηνύματα που δεν βρίσκονται εκεί στην messagenamesfilter παράμετρο, όπως προσαρμοσμένες ενέργειες.

Ορισμός suppressINotifyPattern εάν δεν δημιουργείτε μια εφαρμογή WPF

Τα INotify προγράμματα περιτύλιξης που καταστέλλονται από αυτήν την εντολή χρησιμοποιούνται για σενάρια σύνδεσης δεδομένων με εφαρμογές WPF. Εάν δεν δημιουργείτε μια εφαρμογή WPF με τον κωδικό που δημιουργήθηκε, δεν τις χρειάζεστε. Χρησιμοποιήστε την παράμετρο suppressINotifyPattern για να τις καταπιέσετε.

Συμπερίληψη serviceContextName κατά τη δημιουργία κλάσεων μηνυμάτων

Εάν δημιουργείτε μηνυμάτων, θα πρέπει να συμπεριλαμβάνετε πάντα την παράμετρο serviceContextName για να δημιουργήσετε μια OrganizationServiceContext, ακόμα και αν δεν τη χρησιμοποιείτε. Οι μηνυμάτων που δημιουργούνται απαιτούν μια ιδιότητα που έχει οριστεί σε αυτό το αρχείο. Μάθετε περισσότερα σχετικά με το σφάλμα που παρουσιάζεται εάν δεν το ορίσετε αυτό.

Δείτε επίσης

Ομάδες εντολών CLI του Microsoft Power Platform
Επισκόπηση CLI του Microsoft Power Platform