Σημείωση
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να συνδεθείτε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Δημιουργία κώδικα για API και πίνακες του Dataverse
Χρησιμοποιήστε την pac modelbuilder build εντολή για να δημιουργήσετε πρώιμες .NET για πίνακες Dataverse, προσαρμοσμένα μηνύματα και μια κλάση που προέρχεται από την Κλάση OrganizationServiceContext. Μάθετε περισσότερα σχετικά με τη χρήση αυτής της εντολής για τη δημιουργία πρώιμων κλάσεων
Η κλάση που προέρχεται από OrganizationServiceContextτο :
- Διατηρεί την κατάσταση στο πρόγραμμα-πελάτη για την υποστήριξη δυνατοτήτων όπως η διαχείριση αλλαγών.
- Υλοποιεί τη διασύνδεση System.Linq.IQueryable και μια υπηρεσία παροχής ερωτημάτων .NET Language-Integrated Query (LINQ), ώστε να μπορείτε να συντάξετε ερωτήματα LINQ χρησιμοποιώντας δεδομένα dataverse.
Για περισσότερες πληροφορίες σχετικά με τις δυνατότητες που επιτρέπει αυτό το εργαλείο δημιουργίας κώδικα:
- Προγραμματισμός με καθυστερημένες και πρώιμες δεσμεύσεις με χρήση της υπηρεσίας οργανισμού
- Χρήση του OrganizationServiceContext
- Δημιουργία ερωτημάτων με το LINQ
Σημείωμα
Η 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
Επίπεδο αρχείου καταγραφής. Η προεπιλεγμένη τιμή είναι "Απενεργοποιημένο".
Χρησιμοποιήστε μία από αυτές τις τιμές:
OffCriticalErrorWarningInformationVerboseActivityTracingAll
--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