Basic CRUD (Create, Read, Update, Delete) in ASP.NET MVC Using C# and Entity Framework
Last Updated :
25 Apr, 2025
Prerequisites:
MVC stands for Model View Controller. It is a design pattern that is employed to separate the business logic, presentation logic, and data. Basically, it provides a pattern to style web application. As per MVC, you can divide the application into 3 Layers as follows:
1. Model Layer: The Model component corresponds to all or any of the data-related logic that the user works with. This will represent either the info that’s being transferred between the View and Controller components or the other business logic-related data. For instance, a Customer object will retrieve the customer information from the database, manipulate it, and update its data back to the database or use it to render data.
2. View Layer: The View component is employed for all the UI logic of the appliance. For instance, the Customer view will include all the UI components like text boxes, dropdowns, etc. that the ultimate user interacts with.
3. Controller: Controllers act as an interface between Model and consider components to process all the business logic and incoming requests, manipulate data using the Model component, and interact with the Views to render the ultimate output. For instance, the Customer controller will handle all the interactions and inputs from the Customer View and update the database using the Customer Model. An equivalent controller won’t be going to view the Customer data.

ASP.NET is a server-side web application framework created by Microsoft that runs on Windows and was started in the early 2000s. ASP.NET allows developers to make web applications, web services, and dynamic content-driven websites. The latest version of ASP.NET is 4.7.1 To learn how to set up projects in visual studio and how to create a database, refer to below-given links:
1. Create a Database with the following columns: This is just a demo to make you understand the code in the article. You can create your own database according to your needs.

2. Create a Project in Visual Studio Follow the guidelines that are given in the link provided above to create a project. After creating the project add entity data model to add connection string to your web.config file, to do so follow this article Add Entity Data Model to Your ASP.NET Project. The following EDMX diagram will be shown on your solution window.

ASP.NET CRUD (Create, Read, Update, Delete)
1. Create Now to create a new record in your database write the following code in the newly created controller.
csharp
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace CRUDDemo.Controllers
{
public class CRUDController : Controller
{
public ActionResult create()
{
return View();
}
[HttpPost]
public ActionResult create(Student model)
{
using ( var context = new demoCRUDEntities())
{
context.Student.Add(model);
context.SaveChanges();
}
string message = "Created the record successfully";
ViewBag.Message = message;
return View();
}
}
}
|
After this write click on the first action result and click on AddView and then select template as Create and model class as your own created model and data context class as your own created EDMX model. Then run the project and go the URL https://localhost:port_number/Controller_name/Action_Method_name
For example, https://localhost:44326/CRUD/create

2. Read: Now to See the added data on your screen follow the below-given code
csharp
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace CRUDDemo.Controllers
{
public class CRUDController : Controller {
[HttpGet]
public ActionResult
Read()
{
using ( var context = new demoCRUDEntities())
{
var data = context.Student.ToList();
return View(data);
}
}
}
}
|
After this add the View but remember to change the template as List. Then run the project and go to the URL https://localhost:port_number/Controller_name/Action_Method_name
For Example https://localhost:44326/CRUD/Read

3. Update: Now, to update the existing record follow the code given below
csharp
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace CRUDDemo.Controllers
{
public class CRUDController : Controller
{
public ActionResult Update( int Studentid)
{
using ( var context = new demoCRUDEntities())
{
var data = context.Student.Where(x => x.StudentNo == Studentid).SingleOrDefault();
return View(data);
}
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Update( int Studentid, Student model)
{
using ( var context = new demoCRUDEntities())
{
var data = context.Student.FirstOrDefault(x => x.StudentNo == Studentid);
if (data != null )
{
data.Name = model.Name;
data.Section = model.Section;
data.EmailId = model.EmailId;
data.Branch = model.Branch;
context.SaveChanges();
return RedirectToAction("Read");
}
else
return View();
}
}
}
}
|
After this add view similarly as done previously but remember to change the template to Edit. Then run the project and go to the URL https://localhost:port_number/Controller_name/Action_Method_name?ID_U_want_to_edit
For Example, https://localhost:44326/CRUD/Update?Studentid=1

4. Delete Now, to delete a record from the database follow the code given below
csharp
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace CRUDDemo.Controllers
{
public class CRUDController : Controller {
public ActionResult Delete()
{
return View();
}
[HttpPost]
[ValidateAntiForgeryToken] public ActionResult
Delete( int Studentid)
{
using ( var context = new demoCRUDEntities())
{
var data = context.Student.FirstOrDefault(x = > x.StudentNo == Studentid);
if (data != null ) {
context.Student.Remove(data);
context.SaveChanges();
return RedirectToAction("Read");
}
else
return View();
}
}
}
}
|
After this added view as done previously, but remember to change the template to Delete. Then run the project and go to the URL https://localhost:port_number/Controller_name/Action_Method_name?ID_U_want_to_Delete
For Example, https://localhost:44326/CRUD/Delete?Studentid=1

Note:
- The auto-generated HTML can be modified according to your choice.
- If you want to have a look at the full source code and how it works you can view my GitHub repository by clicking the GitHub Link.
Similar Reads
C# .NET Framework (Basic Architecture and Component Stack)
C# (C-Sharp) is a modern, object-oriented programming language developed by Microsoft in 2000. It is a part of the .NET ecosystem and is widely used for building desktop, web, mobile, cloud, and enterprise applications. This is originally tied to the .NET Framework, C# has evolved to be the primary
6 min read
Basics Operations of File and Directory in C#
In this article, we are going to cover how to create, delete and rename directory and also how to delete and rename the file. Creating a Directory We can create Directory using CreateDirectory() method present in the Directory class. C/C++ Code // C# program to create a directory using System; using
4 min read
What is Entity Framework in .NET Framework?
Entity Framework is an open-source object-relational mapper framework for .NET applications supported by Microsoft. It increases the developer's productivity as it enables developers to work with data using objects of domain-specific classes without focusing on the underlying database tables and col
3 min read
Difference Between C# and ASP.NET
Pre-requisites: C#, ASP.NET C# (also known as C sharp) is an object-oriented programming language that is used to produce an array of applications for gaming, mobile, web, and Windows platforms also It is a modern and type-safe language and provides simple syntax which makes it easier to learn and i
2 min read
Different ways to create an Object in C#
A fully object-oriented language means everything is represented as an object but can't differentiate between primitive types and objects of classes but C# is not purely object oriented since it supports many procedural programming concepts such as pointers to an extent. An object is a basic unit of
4 min read
ASP.NET Interview Questions and Answer
ASP.NET is a popular framework by Microsoft for building fast and scalable web applications. It allows developers to create dynamic websites, services, and apps, using server-side code and offering a user-friendly experience. Trusted by companies like Microsoft, Dell, and Accenture, ASP.NET is used
15+ min read
Basic Database Operations Using C#
In this article, you are going to learn about how to perform basic database operations using system.data.SqlClient namespace in C#. The basic operations are INSERT, UPDATE, SELECT and DELETE. Although the target database system is SQL Server Database, the same techniques can be applied to other data
7 min read
Why to Use ASP.NET Server Controls in Place of HTML Controls?
Basically HTML controls are client side controls and ASP.NET controls are server side controls. We prefer ASP.NET controls as our web controls. As with the HTML controls we can't maintain the state ie the data is lost, we can say it as it does not provide state management. And while writing the code
4 min read
ASP.NET MVC Life Cycle
The goal of this article is to provide a good understanding of the MVC pipeline. The life cycle is basically is set of certain stages which occur at a certain time. MVC actually defined in two life cycles, the application life cycle, and the request life cycle. The application life cycle, in which t
8 min read
Demonstrating Transactions Using Interface Through C#
The interface is a special class in which we can declare all of our methods. Here in this problem, we are going to create an interface in which we are going to declare all of the required implementations which is necessary for transaction management. Here in this article, we are going to see how rea
2 min read