C# 使OData服务在IIS中工作

C# 使OData服务在IIS中工作,c#,iis,odata,C#,Iis,Odata,我有一个来自MS的OData服务样本。以下是相关代码: using (WebApp.Start(_baseAddress, Configuration)) {...} 及 与 或者至少当我评论这句话时,它给出了相同的行为。该示例来自,因为我正在尝试对返回对象使用DynamicProperties 以下是我的IIS项目WebApiConfig的代码: public static void Register(HttpConfiguration con

我有一个来自MS的OData服务样本。以下是相关代码:

        using (WebApp.Start(_baseAddress, Configuration))
        {...}

或者至少当我评论这句话时,它给出了相同的行为。该示例来自,因为我正在尝试对返回对象使用DynamicProperties

以下是我的IIS项目WebApiConfig的代码:

        public static void Register(HttpConfiguration config)
        {
            // Web API routes
            config.MapHttpAttributeRoutes();
            config.MapODataServiceRoute(routeName: "OData", routePrefix: "odata", model: GetModel());
        }

        private static IEdmModel GetModel()
        {
            ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
            builder.EntitySet<Product>("Products");
            var edmModel = builder.GetEdmModel();
            return edmModel;
        }
此示例位于IIS主机上,您可能希望将您的项目与其进行比较。我不认为config.maphttpatributes;这是需要的

    private static IEdmModel GetModel()
    {
        ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
        builder.EntitySet<Product>("Products");
        return builder.GetEdmModel();
    }
builder.UseWebApi(config);
        public static void Register(HttpConfiguration config)
        {
            // Web API routes
            config.MapHttpAttributeRoutes();
            config.MapODataServiceRoute(routeName: "OData", routePrefix: "odata", model: GetModel());
        }

        private static IEdmModel GetModel()
        {
            ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
            builder.EntitySet<Product>("Products");
            var edmModel = builder.GetEdmModel();
            return edmModel;
        }