繁体   English   中英

如何找到OData edm模型类型到clr类型的映射?

[英]How to find mapping of OData edm model type to clr type?

我的数据层没有公开IQueryable。 我仍然希望能够对数据进行排序。 我的API具有这种功能,但是我需要确定需要排序的内容。 说我配置了模型,例如:

ODataModelBuilder modelBuilder = new ODataConventionModelBuilder();
modelBuilder.EntitySet<Airline>("Airlines");
modelBuilder.EntitySet<FlightLeg>("Legs");

现在,在控制器中,我可以获取OdataQueryOptions并找出请求的edm模型类型/属性排序。 我需要完成的是获取用于配置的CLR类型的属性的PropertyInfo,例如Airline.PlaneModel。

我很难通过API获得该元数据,但没有成功。 请帮忙。

在控制器中尝试以下代码片段:

        //using Microsoft.Data.Edm
        IEdmModel edmModel = Request.ODataProperties().Model;
        ClrTypeAnnotation annotation = edmModel.GetAnnotationValue<ClrTypeAnnotation>(edmSchemaType);
        if (annotation != null)
        {
            return annotation.ClrType;
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM