OData V4 系列 服務建立

       OData 學習目錄html

       建立應用程序api

      

   添加引用學習

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

     

      添加實體,並經過EntityFramework 生成數據spa

     

     

       在Controller文件夾下建立兩個類分別爲 ProductsController、SuppliersController,而且都繼承 ODataController,在WebApiConfig類中配置路由。      3d

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,若是顯示以下界面說明已配置成功。
         code

        構建查詢服務        htm

        [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的對象blog

          

    獲取產品爲1的供應商

          

相關文章
相關標籤/搜索