gpt4 book ai didi

javascript - 使用 Asp.net 和 angularjs 的 Odata

转载 作者:太空宇宙 更新时间:2023-11-03 14:59:57 26 4
gpt4 key购买 nike

我正在跟进使用 ASP.net 使用 Web API 的 AngularJS Front to Back 类(class),我们正在尝试使用 ODATA 进行查询,所以我在 WebAPI 的 ProductController 中添加了这段代码

// GET: api/Products
[EnableQuery()]
public IQueryable<Product> Get()
{
var productRepository = new ProductRepository();
return productRepository.Retrieve().AsQueryable();
}

然后在 Angular 代码的productcontroller中添加以下代码:

function ProductListCtrl(productResource) {
var vm = this;

productResource.query({$skip:1, $top:3}, function (data) {
vm.products = data;
})

但是当我尝试运行它时出现以下错误:

angular.js:12701 GET http://localhost:59302//api/products?$skip=1&$top=3 400 (Bad Request) Possibly unhandled rejection: {"data":{"message":"The query specified in the URI is not valid. No non-OData HTTP route registered.","exceptionMessage":"No non-OData HTTP route registered.",.....

最佳答案

也许您没有 odataConfiguration?? EDM 配置在哪里?

在你的配置文件中你需要这样的东西:

   public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// New code:
ODataModelBuilder builder = new ODataConventionModelBuilder();
builder.EntitySet<Product>("Products");
config.MapODataServiceRoute(
routeName: "ODataRoute",
routePrefix: null,
model: builder.GetEdmModel());
}
}

关于javascript - 使用 Asp.net 和 angularjs 的 Odata,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46697028/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com