新增 OData 控制器

控制器是處理 HTTP 請求的類。你為 OData 服務中的每個實體集建立一個單獨的控制器。在本教程中,你將為 Product 實體建立一個控制器。

在 Solution Explorer 中,右鍵單擊 Controllers 資料夾,然後選擇 Add > Class 。將類命名為 ProductsController。

OData v3 本教程的版本使用 Add Controller Scaffolding。目前,OData v4 沒有 Scaffolding。

用以下內容替換 ProductsController.cs 中的樣板程式碼。

using ProductService.Models;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Linq;
using System.Net;
using System.Threading.Tasks;
using System.Web.Http;
using System.Web.OData;
namespace ProductService.Controllers
{
    public class ProductsController : ODataController
    {
        ProductsContext db = new ProductsContext();
        private bool ProductExists(int key)
        {
            return db.Products.Any(p => p.Id == key);
        } 
        protected override void Dispose(bool disposing)
        {
            db.Dispose();
            base.Dispose(disposing);
        }
    }
}

控制器使用 ProductsContext 類使用 EF 訪問資料庫。請注意,控制器會重寫 Dispose 方法以處置 ProductsContext

這是控制器的起點。接下來,我們將為所有 CRUD 操作新增方法。