:找不到 IEdmType 'microsoft.management.services.api.groupPolicyObjectFile'



我正在创建一个动作,该动作吸收了odataactionParameter对象。在我创建模型构建器的地方,我希望收到我创建的实体所需的参数,但是它抛出了:没有IEDMTYPE,可以找到'Microsoft.Management.Services.services.api.groupipi.grouppolypyobjectfile'。当参数是字符串类型时,它可以正常工作。有人以前看过这个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)
    {

您需要使用EntityParameter而不是Parameter用于实体参数:

modelBuilder.EntityType<DeviceManagement>().Action("analyzeGroupPolicyObjectFile").EntityParameter<GroupPolicyObjectFile>("groupPolicyObjectFile");

如果您需要一个实体集合作为参数,请使用CollectionEntityParameter

请参阅:http://odata.github.io/webapi/#04-07-action-parameter-support

最新更新