Lưu ý
Cần có ủy quyền mới truy nhập được vào trang này. Bạn có thể thử đăng nhập hoặc thay đổi thư mục.
Cần có ủy quyền mới truy nhập được vào trang này. Bạn có thể thử thay đổi thư mục.
Trình tạo Mã cho các API và Bảng Dữ liệu
Sử dụng pac modelbuilder build lệnh để tạo ra các lớp .NET giới hạn sớm cho bảng Dataverse, thông báo tùy chỉnh và lớp bắt nguồn từ Lớp OrganizationServiceContext. Tìm hiểu thêm về cách sử dụng lệnh này để tạo ra các lớp liên kết sớm
Lớp bắt nguồn từ OrganizationServiceContext:
- Duy trì trạng thái trên máy khách để hỗ trợ các tính năng như quản lý thay đổi.
- Triển khai Giao diện System.Linq.IQueryable và nhà cung cấp truy vấn Truy vấn .NET Language-Integrated (LINQ) để bạn có thể ghi truy vấn LINQ bằng cách sử dụng dữ liệu Dataverse.
Để biết thêm thông tin về các khả năng mà công cụ tạo mã này cho phép:
- Lập trình bị giới hạn trễ và sớm bằng cách sử dụng dịch vụ Tổ chức
- Sử dụng OrganizationServiceContext
- Xây dựng truy vấn với LINQ
Lưu ý
Lệnh pac modelbuilder build này thay thế phân CrmSvcUtil.exe phối bằng gói Microsoft.CrmSdk.CoreTools NuGet.
Lệnh
| Lệnh | Sự miêu tả |
|---|---|
| pac modelbuilder build | Xây dựng mô hình mã cho Api và Bảng Dataverse |
pac modelbuilder build
Xây dựng mô hình mã cho Api và Bảng Dataverse
Lưu ý
Trước khi bạn có thể sử dụng build lệnh, trước tiên bạn phải kết nối với Dataverse bằng cách sửpac dụng lệnh tạo xác thực. Nếu bạn có nhiều kết nối, sử dụng pac xác thực chọn để chọn môi trường Dataverse bạn muốn tạo mã cho.
Ví dụ:
Ví dụ sau đây cho thấy cách sử dụng build lệnh với dấu nhắc lệnh.
pac modelbuilder build ^
--entitynamesfilter account;contact ^
--generatesdkmessages ^
--messagenamesfilter examp_* ^
--emitfieldsclasses ^
--emitVirtualAttributes ^
--namespace MyApps.Model ^
--outdirectory c:\src\MyApps\Model ^
--writesettingsTemplateFile ^
--serviceContextName OrgContext
Và lệnh tương tự bằng Cách sử dụng PowerShell:
pac modelbuilder build `
--entitynamesfilter 'account;contact' `
--generatesdkmessages `
--messagenamesfilter 'examp_*' `
--emitfieldsclasses `
--emitVirtualAttributes `
--namespace 'MyApps.Model' `
--outdirectory 'c:\src\MyApps\Model' `
--writesettingsTemplateFile `
--serviceContextName 'OrgContext'
Quan trọng
Bạn cần đặt mọi tham số chuỗi trong dấu ngoặc kép đơn khi sử dụng PowerShell.
Kết quả của lệnh này là các tệp sau đây được ghi vào thư c:\src\MyApps\Model mục.
C:\src\MyApps\Model\
|---Thực thể\
| |--account.cs
| |--contact.cs
|---OptionSets\
| |--addresstypes.cs
|---Messages\
| |--examp_myapi.cs
|---EntityOptionSetEnum.cs
|---builderSettings.json
|---OrgContext.cs
builderSettings.json chứa các tham số bạn đã xác định cho lệnh. Bạn có thể sử dụng tính năng này để nhanh chóng tái tạo tệp khi mọi thứ thay đổi. Ví dụ sau đây cho thấy việc sử dụng tệp buildersettings.json được tạo từ lệnh đầu tiên bằng cách sử dụng settingsTemplateFile:
pac modelbuilder build `
--outdirectory c:\src\MyApps\Model `
--settingsTemplateFile c:\src\MyApps\Model\builderSettings.json
Bạn cũng có thể chọn tạo tệp builderSettings.json và sử dụng tệp đó thay vì chuyển tất cả tham số cho lệnh. Sau đây là ví dụ tương đương với ví dụ đầu tiên ở trên:
{
"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
}
Nếu bạn chuyển tham số cho lệnh trong khi sử dụng tham số settingsTemplateFile , các tham số được chuyển đến lệnh sẽ ghi đè lên các tham số được đặt trong builderSettings.json tệp.
Bạn không thể sử dụng tham số settingsTemplateFile và tham số writesettingsTemplateFile cùng một lúc.
Tham số Bắt buộc cho modelbuilder build
--outdirectory
-o
Viết thư mục cho các tệp thực thể, thư và bộ tùy chọn.
Tham số Tùy chọn cho modelbuilder build
--emitentityetc
-etc
Khi được đặt, bao gồm thực thể ETC ( mã loại thực thể ) trong mã được tạo.
Tham số này không yêu cầu giá trị. Đó là công tắc.
--emitfieldsclasses
-efc
Tạo cấu trúc hằng số chứa tất cả các tên trường theo thực thể tại thời điểm tạo mã.
Tham số này không yêu cầu giá trị. Đó là công tắc.
--emitvirtualattributes
-eva
Khi được đặt, bao gồm các thuộc tính tên hỗ trợ cho tra cứu cho phép lọc trên giá trị thuộc tính tên chính của thuộc tính tra cứu.
Tham số này không yêu cầu giá trị. Đó là công tắc.
--entitynamesfilter
-enf
Lọc danh sách các thực thể được truy xuất khi đọc dữ liệu từ Dataverse. Được chuyển vào dưới dạng danh sách được phân tách bằng dấu chấm phẩy. Sử dụng entitylogicalname <của biểu mẫu>;<entitylogicalname>
--entitytypesfolder
-etf
Tên thư mục chứa thực thể. Tên mặc định là 'Thực thể'.
--environment
-env
Xác định Dataverse đích. Giá trị có thể là GUID hoặc URL https tuyệt đối. Khi không được chỉ định, tổ chức hiện hoạt được chọn cho hồ sơ xác thực hiện tại sẽ được sử dụng.
--generateGlobalOptionSets
-go
Phát ra tất cả các Bộ Tùy chọn Chung. Lưu ý: Nếu một thực thể có chứa một tham chiếu đến một optionset toàn cầu, nó được phát ra ngay cả khi chuyển đổi này không có mặt.
--generatesdkmessages
-a
Khi thiết lập, phát ra Sdk lớp tin nhắn như là một phần của thế hệ mã.
Tham số này không yêu cầu giá trị. Đó là công tắc.
--language
-l
Ngôn ngữ để sử dụng cho mã proxy đã tạo. Giá trị này có thể là 'CS' hoặc 'VB'. Ngôn ngữ mặc định là 'CS'.
--logLevel
-ll
Mức ghi nhật ký. Giá trị mặc định là 'Tắt'.
Sử dụng một trong các giá trị sau:
OffCriticalErrorWarningInformationVerboseActivityTracingAll
--messagenamesfilter
-mnf
Lọc danh sách thư được truy xuất khi đọc dữ liệu từ Dataverse. Được truyền vào dưới dạng một danh sách phân tách bằng dấu chấm phẩy, các thư bắt buộc (Tạo, Cập nhật, Xóa, Truy xuất, RetrieveMultiple, Liên kết và Hủy liên kết) luôn được bao gồm. Sử dụng dấu sao ở cuối hoặc đầu (*) với tên của thư để cho phép tất cả các thư bắt đầu bằng hoặc kết thúc bằng một chuỗi. Sử dụng tên thư <biểu mẫu>;<messagename>.
--messagestypesfolder
-mtf
Tên thư mục chứa thư. Tên mặc định là 'Thư'.
--namespace
-n
Không gian tên cho mã được tạo. Không gian tên mặc định là không gian tên toàn cầu.
--optionsetstypesfolder
-otf
Tên thư mục chứa bộ tùy chọn. Tên mặc định là 'OptionSets'.
--serviceContextName
-sctx
Tên cho ngữ cảnh dịch vụ được tạo. Nếu một giá trị được chuyển vào, nó được dùng cho Ngữ cảnh Dịch vụ. Nếu không, không có Ngữ cảnh Dịch vụ nào được tạo.
--settingsTemplateFile
-stf
Chứa Cài đặt sẽ được dùng cho lần chạy này của Bộ dựng Mô hình Đảo dữ liệu, ghi đè mọi tham số trùng lặp trên dòng lệnh. Không thể đặt khi sử dụng --writesettingstemplate.
--suppressGeneratedCodeAttribute
-sgca
Khi thiết lập, điều này ngăn chặn tất cả các đối tượng được tạo ra được gắn thẻ với các mã thế hệ công cụ và phiên bản
Tham số này không yêu cầu giá trị. Đó là công tắc.
--suppressINotifyPattern
Khi được bật, không ghi INotify wrappers cho thuộc tính và lớp học.
--writesettingsTemplateFile
-wstf
Khi thiết lập, ghi một tập tin cài đặt ra vào thư mục đầu ra với các thiết đặt hiện tại được thông qua hoặc thiết đặt mặc định.
Ghi chú
Sau đây là các đề xuất sử dụng pac modelbuilder build lệnh.
Đặt tham entitynamesfilter số và messagenamesfilter
Thận trọng
Chúng tôi khuyên bạn nên sử dụng tham số entitynamesfilter và messagenamesfilter để giới hạn các tệp được tạo cho những tệp bạn sẽ sử dụng trong dự án của mình. Nếu không, lệnh dựng sẽ tìm cách tạo mã cho tất cả các bảng và thư từ Dataverse. Việc này sẽ mất một khoảng thời gian đáng kể để xử lý.
Các lớp cho thư được tìm thấy trong Microsoft.Crm.Sdk.Messages và Microsoft.Xrm.Sdk.Messages không được tạo bằng lệnh này. Bạn chỉ nên bao gồm thông báo không tìm thấy ở đó trong tham messagenamesfilter số, chẳng hạn như hành động tùy chỉnh.
Đặt suppressINotifyPattern nếu bạn không xây dựng ứng dụng WPF
Các INotify wrappers được chặn bởi lệnh này được sử dụng cho databinding kịch bản với các ứng dụng WPF. Nếu bạn không xây dựng một ứng dụng WPF với mã được tạo ra, bạn không cần chúng. Sử dụng tham số suppressINotifyPattern để chặn chúng.
Bao serviceContextName gồm khi tạo lớp thư
Nếu bạn đang tạo lớp thư, bạn nên luôn bao gồm tham số serviceContextNameOrganizationServiceContextđể tạo , ngay cả khi bạn không sử dụng tham số này. Các lớp thông báo đã tạo yêu cầu một bộ thuộc tính trong tệp này. Tìm hiểu thêm về lỗi xảy ra nếu bạn không đặt điều này.
Xem thêm
Microsoft Power Platform CLI Command Groups
Tổng quan về MICROSOFT Power Platform CLI