Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Dataverse API-k és táblák kódgenerátora
pac modelbuilder build A paranccsal korai kötött .NET-osztályokat hozhat létre Dataverse-táblákhoz, egyéni üzenetekhez és az OrganizationServiceContext osztályból származó osztályhoz. További információ a parancs korai kötött osztályok létrehozásához való használatáról
A következőből OrganizationServiceContextszármaztatott osztály:
- Állapotot tart fenn az ügyfélen olyan funkciók támogatásához, mint a változáskezelés.
- Implementálja a System.Linq.IQueryable Interface és a .NET Language-Integrated Query (LINQ) lekérdezésszolgáltatót, hogy LINQ-lekérdezéseket írjon Dataverse-adatokkal.
További információ a kódgenerálási eszköz által nyújtott képességekről:
- Késői és korai kötött programozás a Szervezeti szolgáltatás használatával
- Az OrganizationServiceContext használata
- Lekérdezések létrehozása a LINQ használatával
Megjegyzés:
A pac modelbuilder build parancs lecseréli az CrmSvcUtil.exe elosztott fájlt a Microsoft.CrmSdk.CoreTools NuGet csomagra.
Commands
| Command | Description |
|---|---|
| pac modelbuilder build | Kódmodell létrehozása Dataverse API-khoz és táblákhoz |
pac modelbuilder build
Kódmodell létrehozása Dataverse API-khoz és táblákhoz
Megjegyzés:
A parancs használatához először csatlakoznia kell a build Dataverse-hez a pac hitelesítési létrehozás paranccsal. Ha több kapcsolattal rendelkezik, a pac hitelesítés kiválasztásával válassza ki azt a Dataverse-környezetet, amelyhez kódot szeretne létrehozni.
Example
Az alábbi példa bemutatja, hogyan használható a build parancs parancssorsal.
pac modelbuilder build ^
--entitynamesfilter account;contact ^
--generatesdkmessages ^
--messagenamesfilter examp_* ^
--emitfieldsclasses ^
--emitVirtualAttributes ^
--namespace MyApps.Model ^
--outdirectory c:\src\MyApps\Model ^
--writesettingsTemplateFile ^
--serviceContextName OrgContext
És ugyanez a parancs a PowerShell használatával:
pac modelbuilder build `
--entitynamesfilter 'account;contact' `
--generatesdkmessages `
--messagenamesfilter 'examp_*' `
--emitfieldsclasses `
--emitVirtualAttributes `
--namespace 'MyApps.Model' `
--outdirectory 'c:\src\MyApps\Model' `
--writesettingsTemplateFile `
--serviceContextName 'OrgContext'
Fontos
A PowerShell használatakor minden sztringparamétert idézőjelekkel kell körülvennie.
Ennek a parancsnak az eredménye, hogy a következő fájlok lesznek a c:\src\MyApps\Model mappába írva.
C:\src\MyApps\Model\
|---Entitások\
| |--account.cs
| |--contact.cs
|---OptionSets\
| |--addresstypes.cs
|---Messages\
| |--examp_myapi.cs
|---EntityOptionSetEnum.cs
|---builderSettings.json
|---OrgContext.cs
builderSettings.json tartalmazza a parancshoz megadott paramétereket. Ezzel gyorsan újragenerálhatja a fájlokat, ahogy változnak a dolgok. Az alábbi példa az első parancs generált buildersettings.json fájljának használatát mutatja be a SettingsTemplateFile paranccsal:
pac modelbuilder build `
--outdirectory c:\src\MyApps\Model `
--settingsTemplateFile c:\src\MyApps\Model\builderSettings.json
Azt is megteheti, hogy létrehoz egy builderSettings.json fájlt, és ezt használja ahelyett, hogy az összes paramétert átadja a parancsnak. Az alábbi példa egyenértékű a fenti első példával:
{
"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
}
Ha paramétereket ad át a parancsnak a SettingsTemplateFile paraméter használata közben, a parancsnak átadott paraméterek felülbírálják a builderSettings.json fájlban beállított paramétereket.
A settingsTemplateFile paraméter és a writesettingsTemplateFile paraméter egyszerre nem használható.
Kötelező paraméterek a következőhöz: modelbuilder build
--outdirectory
-o
Címtár írása entitás-, üzenet- és beállításkészletfájlokhoz.
Választható paraméterek a következőhöz: modelbuilder build
--emitentityetc
-etc
Ha be van állítva, a generált kódban tartalmazza az entity ETC (entitástípus kódja) kódot.
Ehhez a paraméterhez nincs szükség értékre. Ez egy kapcsoló.
--emitfieldsclasses
-efc
Hozzon létre egy állandós struktúrát, amely a kód létrehozásakor entitásonként tartalmazza az összes mezőnevet.
Ehhez a paraméterhez nincs szükség értékre. Ez egy kapcsoló.
--emitvirtualattributes
-eva
Ha be van állítva, a keresési attribútumok elsődleges névattribútum-értékeinek szűrését lehetővé tevő keresések kiegészítő névattribútumait tartalmazza.
Ehhez a paraméterhez nincs szükség értékre. Ez egy kapcsoló.
--entitynamesfilter
-enf
Szűri az entitások listáját, amikor adatokat olvas be a Dataverse-ből. Pontosvesszővel elválasztott listaként van átadva. Az entitylogicalname< űrlap >használata;<entitylogicalname>
--entitytypesfolder
-etf
Entitásokat tartalmazó mappanév. Az alapértelmezett név az "Entitások".
--environment
-env
A céladat-adatverset adja meg. Az érték lehet guid vagy abszolút https URL-cím. Ha nincs megadva, a rendszer az aktuális hitelesítési profilhoz kiválasztott aktív szervezetet használja.
--generateGlobalOptionSets
-go
Az összes globális OptionSet kibocsátása. Megjegyzés: Ha egy entitás globális beállításkészletre mutató hivatkozást tartalmaz, akkor is ki lesz bocsátva, ha ez a kapcsoló nincs jelen.
--generatesdkmessages
-a
Ha be van állítva, sdk-üzenetosztályokat bocsát ki a kódgenerálás részeként.
Ehhez a paraméterhez nincs szükség értékre. Ez egy kapcsoló.
--language
-l
A létrehozott proxykódhoz használandó nyelv. Ez az érték lehet "CS" vagy "VB". Az alapértelmezett nyelv a "CS".
--logLevel
-ll
Naplószint. Az alapértelmezett érték a "Ki" érték.
Használja az alábbi értékek egyikét:
OffCriticalErrorWarningInformationVerboseActivityTracingAll
--messagenamesfilter
-mnf
Szűri a Dataverse-ből való adatolvasáskor lekért üzenetek listáját. Pontosvesszővel tagolt listaként továbbítva a szükséges üzenetek (Létrehozás, Frissítés, Törlés, Lekérés, RetrieveMultiple, Társítás és társítás megszüntetése) mindig szerepelnek. Használjon záró vagy bevezető csillagot (*) az üzenetek nevével, hogy az összes üzenet sztringgel kezdődjön vagy végződjön. Az űrlap <üzenetnevének> használata;<üzenetnév>.
--messagestypesfolder
-mtf
Üzeneteket tartalmazó mappanév. Az alapértelmezett név az "Üzenetek".
--namespace
-n
A létrehozott kód névtere. Az alapértelmezett névtér a globális névtér.
--optionsetstypesfolder
-otf
Beállításkészleteket tartalmazó mappanév. Az alapértelmezett név az "OptionSets".
--serviceContextName
-sctx
A létrehozott szolgáltatáskörnyezet neve. Ha egy érték átadásra kerül, az a szolgáltatáskörnyezethez lesz használva. Ha nem, akkor a rendszer nem hoz létre szolgáltatáskörnyezetet.
--settingsTemplateFile
-stf
A Dataverse Model Builder futtatásához használandó beállításokat tartalmazza, felülbírálja a parancssor ismétlődő paramétereit. A --writesettingstemplate használatakor nem állítható be.
--suppressGeneratedCodeAttribute
-sgca
Ha be van állítva, ez letiltja a kódgenerálási motorral és -verzióval címkézett összes létrehozott objektumot
Ehhez a paraméterhez nincs szükség értékre. Ez egy kapcsoló.
--suppressINotifyPattern
Ha engedélyezve van, nem írja meg az INotify burkolókat tulajdonságokhoz és osztályokhoz.
--writesettingsTemplateFile
-wstf
Ha be van állítva, egy beállításfájlt ír ki a kimeneti könyvtárba az aktuálisan átadott vagy alapértelmezett beállításokkal.
Megjegyzések
Az alábbiakban a parancs használatára pac modelbuilder build vonatkozó javaslatok találhatók.
A paraméterek és entitynamesfilter a messagenamesfilter paraméterek beállítása
Caution
Határozottan javasoljuk , hogy az entitynamesfilter és az messagenamesfilter paraméterekkel korlátozza a létrehozott fájlokat a projektben használni kívánt fájlokra. Ellenkező esetben a buildelési parancs megkísérli létrehozni a Dataverse összes táblájának és üzenetének kódját. Ez jelentős időt vesz igénybe a feldolgozáshoz.
A Microsoft.Crm.Sdk.Messages és a Microsoft.Xrm.Sdk.Messages névtérben található üzenetek osztályai nem ezzel a paranccsal jönnek létre. Csak olyan üzeneteket szabad tartalmaznia, amelyek nem találhatók a messagenamesfilter paraméterben, például egyéni műveleteket.
Beállítás suppressINotifyPattern , ha nem WPF-alkalmazást hoz létre
A INotify parancs által letiltott burkolókat a RENDSZER a WPF-alkalmazásokkal való adatkötési forgatókönyvekhez használja. Ha nem a létrehozott kóddal hoz létre WPF-alkalmazást, nincs szükség rájuk. A suppressINotifyPattern paraméter használatával tiltsa le őket.
Üzenetosztályok serviceContextName létrehozásakor
Ha üzenetosztályokat hoz létre, mindig tartalmaznia kell a serviceContextName paramétert OrganizationServiceContexta létrehozáshoz, még akkor is, ha nem használja. A létrehozott üzenetosztályokhoz egy tulajdonságkészlet szükséges ebben a fájlban. További információ azokról a hibákról, amelyek akkor fordulnak elő, ha nem állítja be ezt a beállítást.
Lásd még
Microsoft Power Platform parancssori felület parancscsoportjai
A Microsoft Power Platform parancssori felületének áttekintése