Introducere

În acest articol vom crea o aplicație web utilizând ASP.NET Core MVC cu ajutorul Visual Studio Code și ADO.NET. Vom crea un eșantion de sistem de gestionare a înregistrărilor angajaților și vom efectua operațiuni CRUD pe acesta.

Vom folosi VS Code și SQL Server pentru demonstrația noastră.

Condiții prealabile

  • Instalați .NET Core 2.0.0 sau o versiune superioară SDK de la aici
  • Descărcați și instalați Visual Studio Code de la aici
  • SQL Server 2008 sau o versiune ulterioară

Cod sursa

Înainte de a continua, aș recomanda să descărcați codul sursă de la GitHub.

Crearea tabelului și procedurile stocate

Vom folosi un tabel DB pentru a stoca toate înregistrările angajaților.

Deschideți SQL Server și utilizați următorul script pentru a crea tblEmployee masa.

Create table tblEmployee(            EmployeeId int IDENTITY(1,1) NOT NULL,            Name varchar(20) NOT NULL,            City varchar(20) NOT NULL,            Department varchar(20) NOT NULL,            Gender varchar(6) NOT NULL        )

Acum, vom crea proceduri stocate pentru a adăuga, șterge, actualiza și obține date despre angajați.

Pentru a insera o evidență a angajaților

Create procedure spAddEmployee         (            @Name VARCHAR(20),             @City VARCHAR(20),            @Department VARCHAR(20),            @Gender VARCHAR(6)        )        as         Begin             Insert into tblEmployee (Name,City,Department, Gender)             Values (@Name,@City,@Department, @Gender)         End

Pentru a actualiza o evidență a angajaților

Create procedure spUpdateEmployee          (             @EmpId INTEGER ,           @Name VARCHAR(20),            @City VARCHAR(20),           @Department VARCHAR(20),           @Gender VARCHAR(6)        )          as          begin             Update tblEmployee              set [email protected],             [email protected],             [email protected],           [email protected]             where [email protected]          End

Pentru a șterge o înregistrare a angajaților

Create procedure spDeleteEmployee         (             @EmpId int          )          as           begin             Delete from tblEmployee where [email protected]          End

Pentru a vizualiza toate înregistrările angajaților

Create procedure spGetAllEmployees      as      Begin          select *          from tblEmployee       order by EmployeeId End

Acum, partea noastră din baza de date a fost finalizată. Deci, vom continua să creăm aplicația MVC folosind codul Visual Studio.

Creați aplicația web MVC

Vom crea un proiect sursă din fereastra terminalului în Visual Studio Code. Deschideți codul VS și navigați pentru a vizualiza >> Terminalul integrat.

Cum se efectueaza operatiuni CRUD cu ASPNET Core folosind VS

Aceasta va deschide fereastra terminalului așa cum se arată în imaginea de mai jos.

1611304210 857 Cum se efectueaza operatiuni CRUD cu ASPNET Core folosind VS

Tastați următoarea secvență de comenzi în fereastra terminalului. Acesta va crea aplicația noastră MVC „MvcAdoDemo”.

  • mkdir MvcAdoDemo
  • cd MvcAdoDemo
  • dotnet mvc nou
1611304210 419 Cum se efectueaza operatiuni CRUD cu ASPNET Core folosind VS

Acum deschideți acest fișier de proiect „MvcAdoDemo” folosind codul VS. Dacă solicită mesajul „Activele necesare pentru a construi și a depana lipsesc din MvcAdoDemo. Le adăugați? ”, Selectați„ Da ”.

1611304210 858 Cum se efectueaza operatiuni CRUD cu ASPNET Core folosind VS

Puteți observa în exploratorul de soluții că avem deja dosare create cu numele Controlere, Modele și Vizualizări. Vom adăuga fișierele noastre de cod numai în aceste foldere.

Adăugarea modelului la aplicație

Faceți clic dreapta pe folderul Modele și selectați „Fișier nou”. Numeste-l Angajat.cs. Se va crea un fișier în dosarul Modele.

1611304210 286 Cum se efectueaza operatiuni CRUD cu ASPNET Core folosind VS

Adăugați încă un fișier în folderul Modele. Numeste-l EmployeeDataAccessLayer.cs. Această clasă va conține operațiunile noastre legate de baza de date.

Deschis Angajat.cs și puneți următorul cod în interiorul acestuia. Deoarece adăugăm validatorii necesari în câmpurile clasei Angajați, trebuie să folosim System.ComponentModel.DataAnnotations în partea de sus:

using System;    using System.Collections.Generic;    using System.ComponentModel.DataAnnotations;    using System.Linq;    using System.Threading.Tasks;        namespace MVCAdoDemo.Models    {        public class Employee        {            public int ID { get; set; }            [Required]            public string Name { get; set; }            [Required]            public string Gender { get; set; }            [Required]            public string Department { get; set; }            [Required]            public string City { get; set; }        }    }

Deschis EmployeeDataAccessLayer.cs și introduceți următorul cod pentru a gestiona operațiunile bazei de date. Asigurați-vă că introduceți propriul șir de conexiune.

using System;    using System.Collections.Generic;    using System.Data;    using System.Data.SqlClient;    using System.Linq;    using System.Threading.Tasks;        namespace MVCAdoDemo.Models    {        public class EmployeeDataAccessLayer        {            string connectionString = "Your Connection String here";                //To View all employees details              public IEnumerable<Employee> GetAllEmployees()            {                List<Employee> lstemployee = new List<Employee>();                    using (SqlConnection con = new SqlConnection(connectionString))                {                    SqlCommand cmd = new SqlCommand("spGetAllEmployees", con);                    cmd.CommandType = CommandType.StoredProcedure;                        con.Open();                    SqlDataReader rdr = cmd.ExecuteReader();                        while (rdr.Read())                    {                        Employee employee = new Employee();                            employee.ID = Convert.ToInt32(rdr["EmployeeID"]);                        employee.Name = rdr["Name"].ToString();                        employee.Gender = rdr["Gender"].ToString();                        employee.Department = rdr["Department"].ToString();                        employee.City = rdr["City"].ToString();                            lstemployee.Add(employee);                    }                    con.Close();                }                return lstemployee;            }                //To Add new employee record              public void AddEmployee(Employee employee)            {                using (SqlConnection con = new SqlConnection(connectionString))                {                    SqlCommand cmd = new SqlCommand("spAddEmployee", con);                    cmd.CommandType = CommandType.StoredProcedure;                        cmd.Parameters.AddWithValue("@Name", employee.Name);                    cmd.Parameters.AddWithValue("@Gender", employee.Gender);                    cmd.Parameters.AddWithValue("@Department", employee.Department);                    cmd.Parameters.AddWithValue("@City", employee.City);                        con.Open();                    cmd.ExecuteNonQuery();                    con.Close();                }            }                //To Update the records of a particluar employee            public void UpdateEmployee(Employee employee)            {                using (SqlConnection con = new SqlConnection(connectionString))                {                    SqlCommand cmd = new SqlCommand("spUpdateEmployee", con);                    cmd.CommandType = CommandType.StoredProcedure;                        cmd.Parameters.AddWithValue("@EmpId", employee.ID);                    cmd.Parameters.AddWithValue("@Name", employee.Name);                    cmd.Parameters.AddWithValue("@Gender", employee.Gender);                    cmd.Parameters.AddWithValue("@Department", employee.Department);                    cmd.Parameters.AddWithValue("@City", employee.City);                        con.Open();                    cmd.ExecuteNonQuery();                    con.Close();                }            }                //Get the details of a particular employee            public Employee GetEmployeeData(int? id)            {                Employee employee = new Employee();                    using (SqlConnection con = new SqlConnection(connectionString))                {                    string sqlQuery = "SELECT * FROM tblEmployee WHERE EmployeeID= " + id;                    SqlCommand cmd = new SqlCommand(sqlQuery, con);                        con.Open();                    SqlDataReader rdr = cmd.ExecuteReader();                        while (rdr.Read())                    {                        employee.ID = Convert.ToInt32(rdr["EmployeeID"]);                        employee.Name = rdr["Name"].ToString();                        employee.Gender = rdr["Gender"].ToString();                        employee.Department = rdr["Department"].ToString();                        employee.City = rdr["City"].ToString();                    }                }                return employee;            }                //To Delete the record on a particular employee            public void DeleteEmployee(int? id)            {                    using (SqlConnection con = new SqlConnection(connectionString))                {                    SqlCommand cmd = new SqlCommand("spDeleteEmployee", con);                    cmd.CommandType = CommandType.StoredProcedure;                        cmd.Parameters.AddWithValue("@EmpId", id);                        con.Open();                    cmd.ExecuteNonQuery();                    con.Close();                }            }        }    }

Pentru a utiliza funcționalitățile ADO.NET în codul VS, trebuie să adăugăm referința pachetului nuget la System.Data.SqlClient. Deschide MvcAdoDemo.csproj și introduceți următorul cod în el.

<PackageReference Include="System.Data.SqlClient" Version="4.4.0" />

Puneți acest cod în locația evidențiată în imaginea de mai jos.

1611304211 152 Cum se efectueaza operatiuni CRUD cu ASPNET Core folosind VS

Adăugarea controlerului la aplicație

Faceți clic dreapta pe folderul Controlere și selectați „Fișier nou”. Numeste-l EmployeeController.cs. Se va crea un fișier nou în folderul Controlere.

1611304211 904 Cum se efectueaza operatiuni CRUD cu ASPNET Core folosind VS

Acum EmployeeController a fost creat. Vom pune toată logica noastră de afaceri în acest controler.

Adăugarea de vizualizări la aplicație

Pentru a adăuga vizualizări pentru clasa noastră de controlere, trebuie să creăm un folder în interiorul Vizualizări folder cu același nume ca controlerul nostru și apoi adăugați vizualizările noastre în acel folder.

Faceți clic dreapta pe Vizualizări selectați „Folder nou” și denumiți folderul Angajat.

1611304211 41 Cum se efectueaza operatiuni CRUD cu ASPNET Core folosind VS

Pentru a adăuga fișiere de vizualizare, faceți clic dreapta pe folderul Angajați din folderul Vizualizări și selectați „Fișier nou”. Numeste-l Index.cshtml. Aceasta va crea un fișier de vizualizare în dosarul angajaților. Astfel, am creat prima noastră viziune. În mod similar, adăugați încă 4 vizualizări în folderul Vizualizări / Angajați: Create.cshtml, Delete.cshtml, Details.cshtml, și andEdit.cshtml.

Acum, folderul nostru Vizualizări va arăta astfel:

1611304211 507 Cum se efectueaza operatiuni CRUD cu ASPNET Core folosind VS

Deoarece toate vizualizările noastre au fost create, vom pune un anumit cod în View și Controller pentru efectuarea operațiilor CRUD.

Vizualizare index

Această vizualizare va afișa toate înregistrările angajaților prezente în baza de date. În plus, vom furniza, de asemenea, metodele de acțiune Editați, Detalii și Ștergeți pentru fiecare înregistrare.

Deschis Index.cshtml și introduceți următorul cod în el.

@model IEnumerable<MVCAdoDemo.Models.Employee>           @{            ViewData["Title"] = "Index";        }    <h2>Index</h2>    <p>        <a asp-action="Create">Create New</a>    </p>    <table class="table">        <thead>            <tr>                <th>                    @Html.DisplayNameFor(model => model.Name)                </th>                <th>                    @Html.DisplayNameFor(model => model.Gender)                </th>                <th>                    @Html.DisplayNameFor(model => model.Department)                </th>                <th>                    @Html.DisplayNameFor(model => model.City)                </th>                <th></th>            </tr>        </thead>        <tbody>            @foreach (var item in Model)    {                <tr>                    <td>                        @Html.DisplayFor(modelItem => item.Name)                    </td>                    <td>                        @Html.DisplayFor(modelItem => item.Gender)                    </td>                    <td>                        @Html.DisplayFor(modelItem => item.Department)                    </td>                    <td>                        @Html.DisplayFor(modelItem => item.City)                    </td>                    <td>                        <a asp-action="Edit" asp-route-id="@item.ID">Edit</a> |                        <a asp-action="Details" asp-route-id="@item.ID">Details</a> |                        <a asp-action="Delete" asp-route-id="@item.ID">Delete</a>                    </td>                </tr>            }        </tbody>    </table>

Deschideți-vă EmployeeController.cs fişier. Veți vedea că este gol. Introduceți următorul cod în el.

using System;  using System.Collections.Generic;  using System.Diagnostics;  using System.Linq;  using System.Threading.Tasks;  using Microsoft.AspNetCore.Mvc;  using MVCAdoDemo.Models;    namespace MVCAdoDemo.Controllers  {      public class EmployeeController : Controller      {          EmployeeDataAccessLayer objemployee = new EmployeeDataAccessLayer();            public IActionResult Index()          {              List<Employee> lstEmployee = new List<Employee>();              lstEmployee = objemployee.GetAllEmployees().ToList();                return View(lstEmployee);          }       }  }

Pentru a gestiona operațiunile bazei de date, am creat un obiect de EmployeeDataAccessLayer clasa din interiorul EmployeeController clasă.

Creați vizualizare

Această vizualizare va fi utilizată pentru a adăuga date noi despre angajați în baza de date.

Deschis Create.cshtml și introduceți următorul cod în el.

@model MVCAdoDemo.Models.Employee        @{        ViewData["Title"] = "Create";    }    <h2>Create</h2>    <h4>Employees</h4>    <hr />    <div class="row">        <div class="col-md-4">            <form asp-action="Create">                <div asp-validation-summary="ModelOnly" class="text-danger"></div>                <div class="form-group">                    <label asp-for="Name" class="control-label"></label>                    <input asp-for="Name" class="form-control" />                    <span asp-validation-for="Name" class="text-danger"></span>                </div>                <div class="form-group">                    <label asp-for="Gender" class="control-label"></label>                    <select asp-for="Gender" class="form-control">                        <option value="">-- Select Gender --</option>                        <option value="Male">Male</option>                        <option value="Female">Female</option>                    </select>                    <span asp-validation-for="Gender" class="text-danger"></span>                </div>                <div class="form-group">                    <label asp-for="Department" class="control-label"></label>                    <input asp-for="Department" class="form-control" />                    <span asp-validation-for="Department" class="text-danger"></span>                </div>                <div class="form-group">                    <label asp-for="City" class="control-label"></label>                    <input asp-for="City" class="form-control" />                    <span asp-validation-for="City" class="text-danger"></span>                </div>                <div class="form-group">                    <input type="submit" value="Create" class="btn btn-default" />                </div>            </form>        </div>    </div>    <div>        <a asp-action="Index">Back to List</a>    </div>    @section Scripts {        @{await Html.RenderPartialAsync("_ValidationScriptsPartial");}    }

Pentru a gestiona logica de afaceri a crea, deschis EmployeeController.cs și introduceți următorul cod în el.

[HttpGet]  public IActionResult Create()  {      return View();  }    [HttpPost]  [ValidateAntiForgeryToken]  public IActionResult Create([Bind] Employee employee)  {      if (ModelState.IsValid)      {          objemployee.AddEmployee(employee);          return RedirectToAction("Index");      }      return View(employee);  }

[Bind] atributul este utilizat cu parametrul „angajat” pentru a proteja împotriva supraîncărcării. Pentru a afla mai multe despre supra-postare, vizitați acest link.

Editați vizualizarea

Această vizualizare ne va permite să edităm datele unui angajat existent.

Deschis Edit.cshtml și introduceți următorul cod în el.

@model MVCAdoDemo.Models.Employee        @{        ViewData["Title"] = "Edit";    }    <h2>Edit</h2>    <h4>Employees</h4>    <hr />    <div class="row">        <div class="col-md-4">            <form asp-action="Edit">                <div asp-validation-summary="ModelOnly" class="text-danger"></div>                <input type="hidden" asp-for="ID" />                <div class="form-group">                    <label asp-for="Name" class="control-label"></label>                    <input asp-for="Name" class="form-control" />                    <span asp-validation-for="Name" class="text-danger"></span>                </div>                <div class="form-group">                    <label asp-for="Gender" class="control-label"></label>                    <select asp-for="Gender" class="form-control">                        <option value="">-- Select Gender --</option>                        <option value="Male">Male</option>                        <option value="Female">Female</option>                    </select>                    <span asp-validation-for="Gender" class="text-danger"></span>                </div>                <div class="form-group">                    <label asp-for="Department" class="control-label"></label>                    <input asp-for="Department" class="form-control" />                    <span asp-validation-for="Department" class="text-danger"></span>                </div>                <div class="form-group">                    <label asp-for="City" class="control-label"></label>                    <input asp-for="City" class="form-control" />                    <span asp-validation-for="City" class="text-danger"></span>                </div>                            <div class="form-group">                    <input type="submit" value="Save" class="btn btn-default" />                </div>            </form>        </div>    </div>    <div>        <a asp-action="Index">Back to List</a>    </div>    @section Scripts {        @{await Html.RenderPartialAsync("_ValidationScriptsPartial");}    }

Pentru a gestiona logica de afaceri a Editați | × vedere, deschis EmployeeController.cs și adăugați următorul cod.

[HttpGet]  public IActionResult Edit(int? id)  {      if (id == null)      {          return NotFound();      }      Employee employee = objemployee.GetEmployeeData(id);        if (employee == null)      {          return NotFound();      }      return View(employee);  }    [HttpPost]  [ValidateAntiForgeryToken]  public IActionResult Edit(int id, [Bind]Employee employee)  {      if (id != employee.ID)      {          return NotFound();      }      if (ModelState.IsValid)      {          objemployee.UpdateEmployee(employee);          return RedirectToAction("Index");      }      return View(employee);  }

Veți vedea că avem două metode de acțiune Edit: una pentru HttpGet și alta pentru HttpPost. Metoda de acțiune HttpGet Edit preia datele angajaților și completează câmpurile de vizualizare edit. Odată ce utilizatorul face clic pe butonul Salvare după editarea înregistrării, va fi generată o cerere Postare care este gestionată de metoda de acțiune HttpPost Edit.

Vizualizare detalii

Această vizualizare va afișa detaliile unui anumit angajat.

Deschis Detalii.cshtml și introduceți următorul cod în el.

@model MVCAdoDemo.Models.Employee        @{        ViewData["Title"] = "Details";    }    <h2>Details</h2>    <div>        <h4>Employees</h4>        <hr />        <dl class="dl-horizontal">            <dt>                @Html.DisplayNameFor(model => model.Name)            </dt>            <dd>                @Html.DisplayFor(model => model.Name)            </dd>            <dt>                @Html.DisplayNameFor(model => model.Gender)            </dt>            <dd>                @Html.DisplayFor(model => model.Gender)            </dd>            <dt>                @Html.DisplayNameFor(model => model.Department)            </dt>            <dd>                @Html.DisplayFor(model => model.Department)            </dd>            <dt>                @Html.DisplayNameFor(model => model.City)            </dt>            <dd>                @Html.DisplayFor(model => model.City)            </dd>        </dl>    </div>    <div>        <a asp-action="Edit" asp-route-id="@Model.ID">Edit</a> |        <a asp-action="Index">Back to List</a>    </div>

Pentru a gestiona logica de afaceri a Detalii vedere, deschis EmployeeController.cs și adăugați următorul cod.

[HttpGet]  public IActionResult Details(int? id)  {      if (id == null)      {          return NotFound();      }      Employee employee = objemployee.GetEmployeeData(id);        if (employee == null)      {          return NotFound();      }      return View(employee);  }

Ștergeți vizualizarea

Această vizualizare ne va ajuta să eliminăm datele angajaților.

Deschis Delete.cshtml și introduceți următorul cod în el.

@model MVCAdoDemo.Models.Employee        @{        ViewData["Title"] = "Delete";    }    <h2>Delete</h2>    <h3>Are you sure you want to delete this?</h3>    <div>        <h4>Employees</h4>        <hr />        <dl class="dl-horizontal">            <dt>                @Html.DisplayNameFor(model => model.Name)            </dt>            <dd>                @Html.DisplayFor(model => model.Name)            </dd>            <dt>                @Html.DisplayNameFor(model => model.Gender)            </dt>            <dd>                @Html.DisplayFor(model => model.Gender)            </dd>            <dt>                @Html.DisplayNameFor(model => model.Department)            </dt>            <dd>                @Html.DisplayFor(model => model.Department)            </dd>            <dt>                @Html.DisplayNameFor(model => model.City)            </dt>            <dd>                @Html.DisplayFor(model => model.City)            </dd>        </dl>            <form asp-action="Delete">            <input type="hidden" asp-for="ID" />            <input type="submit" value="Delete" class="btn btn-default" /> |            <a asp-action="Index">Back to List</a>        </form>    </div>

Pentru a gestiona logica de afaceri a Șterge vedere, deschis EmployeeController.cs și adăugați următorul cod.

[HttpGet]  public IActionResult Delete(int? id)  {      if (id == null)      {          return NotFound();      }      Employee employee = objemployee.GetEmployeeData(id);        if (employee == null)      {          return NotFound();      }      return View(employee);  }    [HttpPost, ActionName("Delete")]  [ValidateAntiForgeryToken]  public IActionResult DeleteConfirmed(int? id)  {      objemployee.DeleteEmployee(id);      return RedirectToAction("Index");  }

Pentru a finaliza operațiunea Ștergere, avem nevoie de două metode Ștergere care acceptă același parametru (ID angajat). Dar două metode cu același nume și semnătură de metodă vor crea o eroare de timp de compilare. Și dacă redenumim metoda Ștergere, rutare nu o va putea găsi, deoarece asp.net mapează segmentele URL către metodele de acțiune după nume.

Deci, pentru a rezolva această problemă, adăugăm atributul ActionName („Delete”) la metoda DeleteConfirmed. Acest atribut efectuează maparea pentru sistemul de rutare, astfel încât o adresă URL care include / Șterge / pentru o cerere POST va găsi metoda DeleteConfirmed.

Când facem clic pe linkul Ștergere de pe pagina Index, acesta va trimite o cerere de primire și va returna o vizualizare a angajatului folosind metoda HttpGet Delete. Când facem clic pe butonul Șterge din această vizualizare, acesta va trimite o cerere Post pentru a șterge înregistrarea care este gestionată de metoda HttpPost DeleteConfirmed.

Efectuarea unei operații de ștergere ca răspuns la o cerere de primire (sau, de altfel, efectuarea unei operații de editare, operație de creare sau orice altă operație care modifică datele) deschide o gaură de securitate. Prin urmare, avem două metode separate.

Configurați adresa URL a rutei

Înainte de a lansa aplicația, vom configura adresele URL ale traseului. Deschide Startup.cs fișier pentru a seta formatul pentru rutare. Derulați în jos până la app.UseMvc , unde puteți seta adresa URL a rutei.

Asigurați-vă că adresa URL a rutei dvs. este setată astfel:

app.UseMvc(routes =>   {       routes.MapRoute(           name: "default",           template: "{controller=Home}/{action=Index}/{id?}");   });

Acest model URL setează HomeController ca controler implicit și metoda Index ca metodă implicită de acțiune (în timp ce parametrul Id este opțional). Parametrii de rută impliciți și opționali nu trebuie să fie prezenți în calea URL pentru o potrivire.

Dacă nu adăugăm niciun nume de controler în URL, atunci va lua HomeController ca controler implicit și metoda Index a HomeController ca metodă de acțiune implicită. În mod similar, dacă adăugăm doar numele controlerului în adresa URL, acesta va naviga la metoda de acțiune Index a controlerului respectiv.

Demo de execuție

Acum apăsați F5 pentru a lansa aplicația și navigați la controlerul angajaților prin anexare /Angajat la adresa URL.

Puteți vedea pagina așa cum se arată mai jos.

1611304212 171 Cum se efectueaza operatiuni CRUD cu ASPNET Core folosind VS

Click pe Creaza nou pentru a naviga la Crea vedere. Adăugați o nouă înregistrare a angajaților așa cum se arată în imaginea de mai jos.

1611304212 387 Cum se efectueaza operatiuni CRUD cu ASPNET Core folosind VS

Dacă ratăm datele din orice câmp în timp ce creăm înregistrarea angajaților, vom primi un mesaj de eroare de validare a câmpului necesar.

1611304212 41 Cum se efectueaza operatiuni CRUD cu ASPNET Core folosind VS

După introducerea datelor în toate câmpurile, faceți clic pe butonul „Creați”. Va fi creată noua înregistrare a angajaților și veți fi redirecționat către vizualizarea Index, care afișează înregistrările tuturor angajaților. Aici, putem vedea, de asemenea, metodele de acțiune Editați, Detalii și Ștergeți.

1611304212 57 Cum se efectueaza operatiuni CRUD cu ASPNET Core folosind VS

Dacă dorim să edităm o înregistrare de angajat existentă, faceți clic pe linkul Editare acțiune. Se va deschide vizualizarea Editare ca mai jos, unde putem schimba datele angajatului.

1611304213 960 Cum se efectueaza operatiuni CRUD cu ASPNET Core folosind VS

Aici am schimbat Orașul angajatului Dhiraj din Mumbai în New Delhi. Faceți clic pe „Salvați” pentru a reveni la vizualizarea Index pentru a vedea modificările actualizate așa cum sunt evidențiate în imaginea de mai jos.

1611304213 12 Cum se efectueaza operatiuni CRUD cu ASPNET Core folosind VS

Dacă pierdem vreun câmp în timp ce edităm înregistrarea angajatului, atunci vizualizarea Editare va afișa și mesajul de eroare de validare a câmpului necesar.

1611304213 873 Cum se efectueaza operatiuni CRUD cu ASPNET Core folosind VS

Dacă doriți să vedeți detaliile oricărui angajat, faceți clic pe linkul acțiune Detalii, care va deschide vizualizarea Detalii, așa cum se arată în imaginea de mai jos.

1611304213 798 Cum se efectueaza operatiuni CRUD cu ASPNET Core folosind VS

Faceți clic pe „Înapoi la listă” pentru a reveni la vizualizarea Index. Acum, vom efectua o operațiune de ștergere pe un angajat pe nume Rahul. Faceți clic pe linkul Ștergere acțiune care va deschide vizualizarea Ștergere cerând confirmarea ștergerii.

1611304214 339 Cum se efectueaza operatiuni CRUD cu ASPNET Core folosind VS

Odată ce facem clic pe butonul Ștergere, acesta va trimite o solicitare HttpPost pentru a șterge înregistrarea angajatului și vom fi redirecționați către vizualizarea Index. Aici, putem vedea că angajatul cu numele Rahul a fost eliminat din evidența noastră.

1611304214 579 Cum se efectueaza operatiuni CRUD cu ASPNET Core folosind VS

Concluzie

Am aflat despre crearea unui exemplu de aplicație web MVC utilizând ASP.Net Core 2.0, ADO.NET și un server SQL cu ajutorul Visual Studio Code.

Descărcați codul sursă de la GitHub și jucați-vă pentru a înțelege mai bine.

Puteți verifica celelalte articole ale mele despre ASP .NET Core aici

Vă pregătiți pentru interviuri? Citiți articolul meu despre Întrebări de codificare C # pentru interviuri tehnice.

Vezi si

Publicat inițial la ankitsharmablogs.com