Megosztás:


pac modelbuilder

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:

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:

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

--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