新增 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 操作新增方法。