CRUD básico (crear, leer, actualizar, eliminar) en ASP.NET MVC usando C# y Entity Framework

requisitos previos:

MVC significa controlador de vista de modelo. Es un patrón de diseño que se emplea para separar la lógica empresarial, la lógica de presentación y los datos. Básicamente, proporciona un patrón para aplicar estilo a la aplicación web. Según MVC, puede dividir la aplicación en 3 capas de la siguiente manera:

1. Capa de modelo: el componente de modelo corresponde a toda o parte de la lógica relacionada con los datos con la que trabaja el usuario. Esto representará la información que se transfiere entre los componentes View y Controller o los otros datos relacionados con la lógica comercial. Por ejemplo, un objeto Cliente recuperará la información del cliente de la base de datos, la manipulará y actualizará sus datos en la base de datos o los utilizará para representar datos.

2. Capa de visualización: el componente de visualización se emplea para toda la lógica de la interfaz de usuario del dispositivo. Por ejemplo, la vista del cliente incluirá todos los componentes de la interfaz de usuario, como cuadros de texto, menús desplegables, etc., con los que interactúa el usuario final.

3. Controlador: los controladores actúan como una interfaz entre el modelo y los componentes considerados para procesar toda la lógica comercial y las requests entrantes, manipular datos utilizando el componente del modelo e interactuar con las vistas para generar el resultado final. Por ejemplo, el controlador del Cliente manejará todas las interacciones y entradas de la Vista del Cliente y actualizará la base de datos usando el Modelo del Cliente. Un controlador equivalente es

Controller going to be wont to view the Customer data.

ASP.NET es un marco de aplicación web del lado del servidor creado por Microsoft que se ejecuta en Windows y se inició a principios de la década de 2000. ASP.NET permite a los desarrolladores crear aplicaciones web, servicios web y sitios web basados ​​en contenido dinámico. La última versión de ASP.NET es 4.7.1

Para aprender cómo configurar proyectos en Visual Studio y cómo crear una base de datos, consulte los enlaces a continuación:

1. Cree una base de datos con las siguientes columnas: esta es solo una demostración para que comprenda el código del artículo. Puede crear su propia base de datos de acuerdo a sus necesidades.

2. Cree un proyecto en Visual Studio Siga las pautas que se proporcionan en el enlace proporcionado arriba para crear un proyecto. Después de crear el proyecto, agregue el modelo de datos de la entidad para agregar una string de conexión a su archivo web.config , para hacerlo, siga este artículo Agregue el modelo de datos de la entidad a su proyecto ASP.NET . El siguiente diagrama EDMX se mostrará en la ventana de su solución.

ASP.NET CRUD (Crear, Leer, Actualizar, Eliminar)

1. Crear ahora para crear un nuevo registro en su base de datos, escriba el siguiente código en el controlador recién creado.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
  
namespace CRUDDemo.Controllers
{
    public class CRUDController : Controller
    {
        // To create View of this Action result
        public ActionResult create() 
        {
            return View();
        }
  
        // Specify the type of attribute i.e.
        // it will add the record to the database
        [HttpPost] 
        public ActionResult create(Student model)
        {
              
            // To open a connection to the database
            using(var context = new demoCRUDEntities()) 
            {
                // Add data to the particular table
                context.Student.Add(model); 
                  
                // save the changes
                context.SaveChanges(); 
            }
            string message = "Created the record successfully";
              
            // To display the message on the screen
            // after the record is created successfully
            ViewBag.Message = message;     
              
            // write @Viewbag.Message in the created
            // view at the place where you want to
            // display the message
            return View(); 
        }
    }
}

Después de escribir esto, haga clic en el resultado de la primera acción y haga clic en AddView y luego seleccione la plantilla como Crear y la clase de modelo como su propio modelo creado y la clase de contexto de datos como su propio modelo EDMX creado. Luego ejecute el proyecto y vaya a la URL https://localhost:port_number/Controller_name/Action_Method_name

Por ejemplo, https://localhost:44326/CRUD/create

2. Leer: ahora para ver los datos agregados en su pantalla, siga el código que se indica a continuación

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
  
namespace CRUDDemo.Controllers
{
    public class CRUDController : Controller {
        [HttpGet] // Set the attribute to Read
            public ActionResult
            Read()
        {
            using(var context = new demoCRUDEntities())
            {
                  
                // Return the list of data from the database
                var data = context.Student.ToList(); 
                return View(data);
            }
        }
    }
}

Después de esto, agregue la Vista, pero recuerde cambiar la plantilla como Lista. Luego ejecute el proyecto y vaya a la URL
https://localhost:port_number/Controller_name/Action_Method_name
Por ejemplo https://localhost:44326/CRUD/Read

3. Actualizar: ahora, para actualizar el registro existente, siga el código que se proporciona a continuación.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
  
namespace CRUDDemo.Controllers
{
    public class CRUDController : Controller
    {
          
        // To fill data in the form 
        // to enable easy editing
        public ActionResult Update(int Studentid) 
        {
            using(var context = new demoCRUDEntities())
            {
                var data = context.Student.Where(x => x.StudentNo == Studentid).SingleOrDefault();
                return View(data);
            }
        }
  
        // To specify that this will be 
        // invoked when post method is called
        [HttpPost]
        [ValidateAntiForgeryToken] 
        public ActionResult Update(int Studentid, Student model)
        {
            using(var context = new demoCRUDEntities())
            {
                  
                // Use of lambda expression to access
                // particular record from a database
                var data = context.Student.FirstOrDefault(x => x.StudentNo == Studentid); 
                  
                // Checking if any such record exist 
                if (data != null) 
                {
                    data.Name = model.Name;
                    data.Section = model.Section;
                    data.EmailId = model.EmailId;
                    data.Branch = model.Branch;
                    context.SaveChanges();
                      
                    // It will redirect to 
                    // the Read method
                    return RedirectToAction("Read"); 
                }
                else
                    return View();
            }
        }
    }
}

Después de esto, agregue la vista de manera similar a como se hizo anteriormente, pero recuerde cambiar la plantilla a Editar. Luego ejecute el proyecto y vaya a la URL https://localhost:port_number/Controller_name/Action_Method_name?ID_U_want_to_edit

Por ejemplo, https://localhost:44326/CRUD/Update?Studentid=1

4. Eliminar ahora, para eliminar un registro de la base de datos, siga el código que se proporciona a continuación

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();
            }
        }
    }
}

Después de esta vista agregada como se hizo anteriormente, pero recuerde cambiar la plantilla a Eliminar. Luego ejecute el proyecto y vaya a la URL https://localhost:port_number/Controller_name/Action_Method_name?ID_U_want_to_Delete
Por ejemplo, https://localhost:44326/CRUD/Delete?Studentid=1

Nota:

  • El HTML generado automáticamente se puede modificar según su elección.
  • Si desea ver el código fuente completo y cómo funciona, puede ver mi repositorio de GitHub haciendo clic en el enlace de GitHub .

Publicación traducida automáticamente

Artículo escrito por rishabhtyagi2306 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *