添加 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 操作添加方法。