你的位置:首页 > ASP.net教程

[ASP.net教程]OData V4 系列 服务创建

       OData 学习目录

       创建应用程序

      

   添加引用

  install-package entityframework 、 Install-Package Microsoft.AspNet.Odata 、 Install-Package Jquery

     

      添加实体,并通过EntityFramework 生成数据

     

     

       在Controller文件夹下创建两个类分别为 ProductsController、SuppliersController,并且都继承 ODataController,在WebApiConfig类中配置路由。      

public static void Register(HttpConfiguration config)    {      // Web API 配置和服务      // Web API 路由      config.MapHttpAttributeRoutes();      config.Routes.MapHttpRoute(        name: "DefaultApi",        routeTemplate: "api/{controller}/{id}",        defaults: new { id = RouteParameter.Optional }      );      //构建路由服务      var route = config.MapODataServiceRoute("odata", "Odata", model: GetModel()); //第二个参数Odata是前缀    }    public static Microsoft.OData.Edm.IEdmModel GetModel()    {      var builder = new ODataConventionModelBuilder();      builder.EntitySet<Product>("Products");//第二个参数Products对应ProductsController      builder.EntitySet<Supplier>("Suppliers");      return builder.GetEdmModel();    }

         路由配置后F5,如果显示如下界面说明已配置成功。
        

        构建查询服务        

    [EnableQuery]    public IQueryable<Product> Get()    {      return _dbContext.Products;    }    [EnableQuery]    public SingleResult<Product> Get([FromODataUri] int key)    {      IQueryable<Product> result = _dbContext.Products.Where(p => p.Id == key);      return SingleResult.Create(result);    }

           获取所有产品信息
          

           获取产品为1的对象

          

    获取产品为1的供应商