CRUD (Create, Read, Update, Delete) হলো ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টের একটি মৌলিক ধারণা। এটি ডেটাবেসে ডেটা পরিচালনা করার জন্য ব্যবহৃত হয়। ASP.Net MVC ফ্রেমওয়ার্ক ব্যবহার করে CRUD অপারেশন সহজে বাস্তবায়ন করা যায়। নিচে CRUD অপারেশনের প্রতিটি ধাপ এবং তার বাস্তবায়নের পদ্ধতি বিস্তারিতভাবে আলোচনা করা হলো।
CRUD অপারেশন করার জন্য একটি ডাটাবেস প্রয়োজন। এখানে আমরা Entity Framework Code-First পদ্ধতি ব্যবহার করব। প্রথমে একটি মডেল তৈরি করতে হবে যা ডাটাবেস টেবলের কাঠামো সংজ্ঞায়িত করবে। উদাহরণস্বরূপ:
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public string Class { get; set; }
}
Entity Framework এর মাধ্যমে ডাটাবেস অপারেশন পরিচালনা করার জন্য একটি DbContext ক্লাস তৈরি করুন:
public class ApplicationDbContext : DbContext
{
public DbSet<Student> Students { get; set; }
}
Entity Framework Code-First ব্যবহার করে ডাটাবেস তৈরি করার জন্য:
কমান্ড লিখুন:
Add-Migration InitialCreate
তারপর ডাটাবেস আপডেট করুন:
Update-Database
এটি ডাটাবেস তৈরি করবে এবং Students নামে একটি টেবল তৈরি করবে।
একটি নতুন শিক্ষার্থীর তথ্য তৈরি করতে:
[HttpGet]
public IActionResult Create()
{
return View();
}
[HttpPost]
public IActionResult Create(Student student)
{
if (ModelState.IsValid)
{
_context.Students.Add(student);
_context.SaveChanges();
return RedirectToAction("Index");
}
return View(student);
}
@model Student
<form asp-action="Create" method="post">
<div>
<label>Name</label>
<input asp-for="Name" />
</div>
<div>
<label>Age</label>
<input asp-for="Age" />
</div>
<div>
<label>Class</label>
<input asp-for="Class" />
</div>
<button type="submit">Create</button>
</form>
ডাটাবেস থেকে সমস্ত শিক্ষার্থীর তথ্য দেখানোর জন্য:
public IActionResult Index()
{
var students = _context.Students.ToList();
return View(students);
}
@model IEnumerable<Student>
<table>
<thead>
<tr>
<th>Name</th>
<th>Age</th>
<th>Class</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
@foreach (var student in Model)
{
<tr>
<td>@student.Name</td>
<td>@student.Age</td>
<td>@student.Class</td>
<td>
<a asp-action="Edit" asp-route-id="@student.Id">Edit</a> |
<a asp-action="Delete" asp-route-id="@student.Id">Delete</a>
</td>
</tr>
}
</tbody>
</table>
একটি নির্দিষ্ট শিক্ষার্থীর তথ্য সম্পাদনা করতে:
[HttpGet]
public IActionResult Edit(int id)
{
var student = _context.Students.Find(id);
return View(student);
}
[HttpPost]
public IActionResult Edit(Student student)
{
if (ModelState.IsValid)
{
_context.Students.Update(student);
_context.SaveChanges();
return RedirectToAction("Index");
}
return View(student);
}
@model Student
<form asp-action="Edit" method="post">
<input type="hidden" asp-for="Id" />
<div>
<label>Name</label>
<input asp-for="Name" />
</div>
<div>
<label>Age</label>
<input asp-for="Age" />
</div>
<div>
<label>Class</label>
<input asp-for="Class" />
</div>
<button type="submit">Save</button>
</form>
একটি নির্দিষ্ট শিক্ষার্থীর তথ্য মুছে ফেলতে:
[HttpGet]
public IActionResult Delete(int id)
{
var student = _context.Students.Find(id);
return View(student);
}
[HttpPost, ActionName("Delete")]
public IActionResult DeleteConfirmed(int id)
{
var student = _context.Students.Find(id);
_context.Students.Remove(student);
_context.SaveChanges();
return RedirectToAction("Index");
}
@model Student
<h3>Are you sure you want to delete this student?</h3>
<div>
<p>Name: @Model.Name</p>
<p>Age: @Model.Age</p>
<p>Class: @Model.Class</p>
</div>
<form asp-action="Delete" method="post">
<input type="hidden" asp-for="Id" />
<button type="submit">Yes</button>
<a asp-action="Index">No</a>
</form>
CRUD অপারেশন ASP.Net MVC অ্যাপ্লিকেশনের একটি গুরুত্বপূর্ণ অংশ। এটি ডেটাবেসের সাথে সরাসরি যোগাযোগ করতে এবং ডেটা তৈরি, পড়া, সম্পাদনা এবং মুছে ফেলার কার্যক্রম পরিচালনা করতে সাহায্য করে। ASP.Net MVC এর Entity Framework ব্যবহারের মাধ্যমে CRUD অপারেশন দ্রুত এবং সহজে বাস্তবায়ন করা যায়।
common.read_more