Introduction
In this article I am describing the OData Controller Scaffolding. Microsoft revealed the new platform to scaffold the OData Controller in the Visual Studio 2013. I will scaffold the OData Controller on a Web API2 project.
So let's use an example and follow the sections below:
- Create an ASP.NET Web Application
- Scaffolding the OData Controller
- Examine the Controller
Create an ASP.NET Web Application
Use the following procedure to create a sample web application.
Step 1: Open Visual Studio 2013
Step 2: Click "New Project" to create an application.
Step 3: Select the Project Template and choose the Web API checkbox.
Step 4: Click "Create Project".
Visual Studio creates the application with the Web API Core Reference.
Scaffolding the OData Controller
Now we will scaffold the OData Controller. To scaffold use the following procedure.
Step 1: In your Solution Explorer, right-click on your Models folder to add a class.
Step 2: Enter the name as "Employee" and replace the boilerplate code with the following code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace OData_Controller_App.Models
{
public class Employee
{
public int EmployeeID { get; set; }
public string EmployeeName { get; set; }
public string CompanyName { get; set; }
}
}
Step 3: Build your project
Step 4: In your Solution Explorer, right-click on the Controller folder to add the New Scaffolded Item.
Step 5: Select the We API from the left pane and then select the Web API 2 Odata Controller.
Step 6: In the next Add Controller wizard, enter the controller name and select the model Class and click on New data context
Step 7: Enter the data context name (Optional).
Step 8: Click on "Add".
It will scaffold the OData Controller and generate the EmployeeController.cs file. It will also generate the readme.txt file to do some instructions.
Step 9: Search for the WebApiConfig file in your Solution Explorer and open the file. It will look as shown below:
Step 10: As mentioned in the readme.txt file, change the code as in the following code:
using System.Web.Http;
using System.Web.Http.OData.Builder;
using OData_Controller_App.Models;
namespace OData_Controller_App
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
builder.EntitySet<Employee>("Employee");
config.Routes.MapODataRoute("odata", "odata", builder.GetEdmModel());
}
}
}
Examine the Controller
The scaffolded controller has the GET and POST methods and you can review the methods as shown below:
Summary
This article will help you to work with the New OData Controller in the Web API 2 project in the Visual Studio 2013. You should create the rest instructions directed the readme.txt file to scaffold the controller and generate the view.