Я создаю действие, которое выполняет объект ODataActionParameter.Когда я создаю свой конструктор моделей, я хотел бы, чтобы параметр, необходимый для получения созданной мной сущности, выдает «Нет. IEdmType не найден для« microsoft.management.services.api.groupPolicyObjectFile ».Когда параметр является строковым типом, он работает нормально.Кто-нибудь видел эту ошибку IEdmType раньше?
Я пробовал entityparameter, collectionparameter и параметр для моего построителя модели.
public void Configure(IContext context, ODataConventionModelBuilder modelBuilder)
{
context.IfNullThrow(nameof(context));
modelBuilder.IfNullThrow(nameof(context));
modelBuilder.EntityType<GroupPolicyObjectFile>();
modelBuilder.EntityType<GroupPolicyMigrationReport>();
modelBuilder.EntityType<GroupPolicySettingMapping>();
modelBuilder.EntityType<DeviceManagement>().Action("analyzeGroupPolicyObjectFile").Parameter<GroupPolicyObjectFile>("groupPolicyObjectFile");
}
Вот объявление сущности, которую я хотел бы использовать:
[MinimumSupportedVersion(ServiceVersions.ExperimentalStart)]
[ODataDescription("The Group Policy Object file uploaded by admin.")]
[ODataCapabilities(supportsSkip: true, supportsTop: true)]
[GraphEntity(isMaster: true, AddressUrl = Constants.ServiceEndpoints.GPAnalyticsAdminService)]
[DataInventoryClass(Owner = Constants.Service.OwnerTeamAlias, DataStore = DataStore.DocDB, DataClassification = DataClassification.OII)]
public sealed class GroupPolicyObjectFile: GraphEntity
Действие здесь:
[ODataRoute("analyzeGroupPolicyObjectFile")]
[AuthorizeApplicationPermissionScopes(new string[] { DelegatedAppPermissionScopes.DeviceManagementConfiguration.ReadWriteAll }, new string[] { DelegatedAppPermissionScopes.DeviceManagementConfiguration.ReadWriteAll })]
[ODataParameterDescription("groupPolicyObjectFile", "Create group policy migration report")]
[HttpPost]
public async Task<IHttpActionResult> AnalyzeGroupPolicyObjectFile(ODataActionParameters parameters)
{