Home > DeveloperSection > Beginner > CRUD Operation using Asp.Net Web API and Entity Framework in Asp.Net Mvc 4

CRUD Operation using Asp.Net Web API and Entity Framework in Asp.Net Mvc 4


ASP.NET MVC ASP.NET MVC 
Ratings:
1 Comment(s)
 17711  View(s)
Rate this:

CRUD Operation using Asp.Net Web API and Entity Framework in Asp.Net Mvc 4   

In this article, I’m explaining the asp.net web api – how to create and consume with CRUD operation (Create, Read, Update, Delete) using Entity Framework in Asp.Net Mvc 4.

Step 1

First create a table named “Customer” in the database like this:

CRUD Operation using Asp.Net Web API and Entity Framework in Asp.Net Mvc 4

Step 2

Now create a basic asp.net mvc 4 application and add a class named “Customer” like this:

using System;

using System.Collections.Generic;

using System.ComponentModel.DataAnnotations;

using System.ComponentModel.DataAnnotations.Schema;

using System.Linq;

using System.Web;

 

namespace MvcWebApi.Models

{

    [Table("Customer")]

    public class Customer

    {

        [Key]

        public int CustID { getset; }

        public string Name { getset; }

        public string Address { getset; }

        public string ContactNo { getset; }

    }

}

Step 2

Now add another class named “CustomerContext” like this:

using System;

using System.Collections.Generic;

using System.Data.Entity;

using System.Linq;

using System.Web;

 

namespace MvcWebApi.Models

{

    public class CustomerContext : DbContext

    {

        public DbSet<Customer> Customers { getset; }

    }

}

Step 3

Now add a controller named “ValuesController” to the project like this:

using MvcWebApi.Models;

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Http;

using System.Web.Mvc;

 

namespace MvcWebApi.Controllers

{

    public class ValuesController : ApiController

    {

        CustomerContext db = new CustomerContext();

 

        public IEnumerable<Customer> Get()

        {

            return db.Customers.ToList();

        }

 

        // GET api/values/5

        public Customer Get(int id)

        {

            return db.Customers.Find(id);

            //return "value";

        }

        // POST api/values

        public void Post(List<string> val        {

            try

            {

                Customer obj = new Customer();

                obj.Name = val[0];

                obj.Address = val[1];

                obj.ContactNo = val[2];

                db.Customers.Add(obj);

                db.SaveChanges();

            }

            catch (Exception) { }

        }

        // PUT api/values/5

        public void Put(int id, Customer obj)

        {

            try

            {

                db.Entry(obj).State = System.Data.EntityState.Modified;

                db.SaveChanges();

            }

            catch (Exception) { }

        }

        //This method for update through Json

        public void Put(List<string> val)

        {

            try

            {

                int id = Convert.ToInt32(val[3]);

                Customer obj = db.Customers.Find(id);

                obj.Name = val[0];

                obj.Address = val[1];

                obj.ContactNo = val[2];

                db.Customers.Add(obj);

                db.Entry(obj).State = System.Data.EntityState.Modified;

                db.SaveChanges();

            }

            catch (Exception) { }

        }

        // DELETE api/values/5

        public void Delete(int id)

        {

            Customer obj = db.Customers.Find(id);

            db.Customers.Remove(obj);

            db.SaveChanges();

        }

 

    }

}

 

Changed its base class from controller to ApiController using the namespace System.Web.Http,

Get() Method – this method will give the list of records.

Get(int id) Method – this method will give the specific record using the id.

Post() Method – this method will add a new record.

Put() Method – this method will edit a specific record using the id.

Delete() Method – this method will delete a record using the id.

Step 4

Now add another controller named “HomeController” like this:

CRUD Operation using Asp.Net Web API and Entity Framework in Asp.Net Mvc 4

This will create the controller with 5 views (Create, Delete, Details, Edit, Index)

Change the code of the controller like below:

using System;

using System.Collections.Generic;

using System.Data;

using System.Data.Entity;

using System.Linq;

using System.Web;

using System.Web.Mvc;

using MvcWebApi.Models;

 

namespace MvcWebApi.Controllers

{

    public class HomeController : Controller

    {

        ValuesController db = new ValuesController();

 

        public ActionResult Index()

        {

            return View(db.Get());

        }

 

        //

        // GET: /Home/Details/5

 

        public ActionResult Details(int id = 0)

        {

            Customer customer = db.Get(id);

            if (customer == null)

            {

                return HttpNotFound();

            }

            return View(customer);

        }

 

        //

        // GET: /Home/Create

 

        public ActionResult Create()

        {

            return View();

        }

 

        //

        // POST: /Home/Create

 

        [HttpPost]

        [ValidateAntiForgeryToken]

        public ActionResult Create(Customer customer)

        {

            if (ModelState.IsValid)

            {

                List<string> customerList = new List<string>();

                customerList.Add(customer.Name);

                customerList.Add(customer.Address);

                customerList.Add(customer.ContactNo);

                db.Post(customerList);

                return RedirectToAction("Index");

            }

 

            return View(customer);

        }

 

        //

        // GET: /Home/Edit/5

 

        public ActionResult Edit(int id = 0)

        {

            Customer customer = db.Get(id);

            if (customer == null)

            {

                return HttpNotFound();

            }

            return View(customer);

        }

 

        //

        // POST: /Home/Edit/5

 

        [HttpPost]

        [ValidateAntiForgeryToken]

        public ActionResult Edit(int id, Customer customer)

        {

            if (ModelState.IsValid)

            {

                db.Put(id, customer);

                return RedirectToAction("Index");

            }

            return View(customer);

        }

 

        //

        // GET: /Home/Delete/5

 

        public ActionResult Delete(int id = 0)

        {

            Customer customer = db.Get(id);

            if (customer == null)

            {

                return HttpNotFound();

            }

            return View(customer);

        }

 

        //

        // POST: /Home/Delete/5

 

        [HttpPostActionName("Delete")]

        [ValidateAntiForgeryToken]

        public ActionResult DeleteConfirmed(int id)

        {

            db.Delete(id);

            return RedirectToAction("Index");

        }

 

        protected override void Dispose(bool disposing)

        {

            db.Dispose();

            base.Dispose(disposing);

        }

    }

}

Step 5

Now add the connection string in the web.config file:

<connectionStrings>

      <add name="CustomerContext" connectionString="Data Source=Uttam-PC4;Initial Catalog=SumitTesting;user id = userid;password=password;" providerName="System.Data.SqlClient"/>

  </connectionStrings>

 

Now your solution explorer will look like this:

CRUD Operation using Asp.Net Web API and Entity Framework in Asp.Net Mvc 4

Output

Now run the application:

CRUD Operation using Asp.Net Web API and Entity Framework in Asp.Net Mvc 4

 

Click on Create New – to add a new record:

CRUD Operation using Asp.Net Web API and Entity Framework in Asp.Net Mvc 4

CRUD Operation using Asp.Net Web API and Entity Framework in Asp.Net Mvc 4

Now click on edit – to edit a record:

CRUD Operation using Asp.Net Web API and Entity Framework in Asp.Net Mvc 4

CRUD Operation using Asp.Net Web API and Entity Framework in Asp.Net Mvc 4

 

Now click on details – to show the record details:

CRUD Operation using Asp.Net Web API and Entity Framework in Asp.Net Mvc 4

Now click on delete – to delete a record:

CRUD Operation using Asp.Net Web API and Entity Framework in Asp.Net Mvc 4

CRUD Operation using Asp.Net Web API and Entity Framework in Asp.Net Mvc 4

 


Required code for index.cshtml page

By Dhaval Sanghvi on   9 months ago
Thanks for code sharing...

Can you please provide me code for index.cshtml page?



Don't want to miss updates? Please click the below button!

Follow MindStick