Here's an example of how to perform CRUD operations in an ASP.NET MVC web application using Entity Framework,
Step 1
Create a new controller for your Entity Framework model, as described in the previous answer.
Step 2
In the controller, add action methods for each CRUD operation you want to perform. For example:
public ActionResult Index()
{
var data = db.MyTable.ToList();
return View(data);
}
public ActionResult Create()
{
return View();
}
[HttpPost]
public ActionResult Create(MyTable item)
{
if (ModelState.IsValid)
{
db.MyTable.Add(item);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(item);
}
public ActionResult Edit(int id)
{
var item = db.MyTable.Find(id);
if (item == null)
{
return HttpNotFound();
}
return View(item);
}
[HttpPost]
public ActionResult Edit(MyTable item)
{
if (ModelState.IsValid)
{
db.Entry(item).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(item);
}
public ActionResult Delete(int id)
{
var item = db.MyTable.Find(id);
if (item == null)
{
return HttpNotFound();
}
return View(item);
}
[HttpPost, ActionName("Delete")]
public ActionResult DeleteConfirmed(int id)
{
var item = db.MyTable.Find(id);
db.MyTable.Remove(item);
db.SaveChanges();
return RedirectToAction("Index");
}
Step 3
For each action method that returns a view, create a corresponding view file with the same name as the method. For example, the Create() method would have a view file called Create.cshtml.
Step 4
In the views, use Razor syntax to create forms and display data. For example, the Create.cshtml view might look like this,
@model MyProject.Models.MyTable
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-group">
@Html.LabelFor(model => model.Name)
@Html.TextBoxFor(model => model.Name, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.Name)
</div>
<div class="form-group">
@Html.LabelFor(model => model.Description)
@Html.TextBoxFor(model => model.Description, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.Description)
</div>
<button type="submit" class="btn btn-primary">Save</button>
}
Step 5
Finally, set up routing in your application so that the correct controller and action methods handle requests to the appropriate URLs. For example:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
With this setup, you can create, read, update, and delete records from your Entity Framework model using the ASP.NET MVC framework.