Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 如何在Asp.Net内核中使用OData_Asp.net Core_Odata - Fatal编程技术网

Asp.net core 如何在Asp.Net内核中使用OData

Asp.net core 如何在Asp.Net内核中使用OData,asp.net-core,odata,Asp.net Core,Odata,我一直在尝试将OData与Dot Net Core结合使用,但没有成功。我觉得这不太一样(我可能错了)。在这种情况下,在.NETCore中是否有OData的替代品 欢迎提供任何建议。您可以安装最新的AspNetCore.Odata nugget包,然后从那里开始: 在Startup.cs类中,确保将服务配置为使用OData: public void ConfigureServices(IServiceCollection services) { services.A

我一直在尝试将OData与Dot Net Core结合使用,但没有成功。我觉得这不太一样(我可能错了)。在这种情况下,在.NETCore中是否有OData的替代品


欢迎提供任何建议。

您可以安装最新的AspNetCore.Odata nugget包,然后从那里开始:

在Startup.cs类中,确保将服务配置为使用OData:

 public void ConfigureServices(IServiceCollection services)
    {

        services.AddOData();
        services.AddMvc();
    }
此外,在配置方法中,确保映射Odata服务路由:

 app.UseMvc(routes =>
        {
            routes.Count().Filter().OrderBy().Expand().MaxTop(null);
            routes.MapODataServiceRoute("odata", "odata", builder.GetEdmModel());
            routes.EnableDependencyInjection();
        });

请参阅此-感谢提供正确配置的可能副本。如何访问该服务?我的控制器路径是api/students,当我点击这个url时,我没有得到任何回应。我真的不理解你的问题。除了在Startup.cs文件中配置上述服务外,您不必访问任何服务。您必须创建自己的控制器,并为api/学生创建一个返回一些数据的方法。感谢您的回复。我发现了我的dapper扩展的问题,它导致了错误,并且没有从DB返回任何行,因此我得到了一个空响应。上面的配置对我很有效。现在我在处理OData版本时遇到了另一个问题。我有两个版本的API,我想为版本2实现OData,但是,当我提供相同的配置时,我得到了与版本1 API的路由冲突。我如何告诉OData仅用于version2 API,version1应按原样运行。我不认为您可以为路由使用两种不同的配置。我最好的建议是为您的v2功能创建一个新项目,并将v2添加到路由中。例如,../odata/v2/Entities。