جادوی Scaffolding در EF Core

تهران آی تی / برنامــه نویــسـی / جادوی Scaffolding در EF Core

جادوی Scaffolding در EF Core

در این قسمت از دوره پیشرفته Entity Framework Core 9 به جادوی Scaffolding در EF Core میپردازیم. و نحوه‌ی انجام عملیات CRUD را در EF Core 9 با استفاده از ابزار Scaffolding مورد برسی قرار میدهیم. عملیات CRUD مجموعه‌ای از عملیات های پرکاربرد است. که برای ایجاد، خواندن، به‌روزرسانی و حذف داده‌ها استفاده می‌شود. EF Core 9 امکان ایجاد خودکار کدهای مورد نیاز این عملیات را با Scaffolding فراهم کرده است. این ابزار با تولید مدل‌ها، کنترلرها و Viewها به شما کمک می‌کند. تا به سرعت و بدون کدنویسی دستی، پروژه‌های پایگاه داده‌محور خود را توسعه دهید.

Scaffolding به شما امکان می‌دهد. بدون نیاز به کدنویسی دستی، به‌صورت خودکار کدهای موردنیاز را تولید کنید.

در این آموزش، ابتدا با استفاده از Scaffolding یک کنترلر CRUD می‌سازیم. و هر یک از عملیات را به تفصیل بررسی می‌کنیم. تا بتوانید پروژه‌های حرفه‌ای‌تری با EF Core ایجاد کنید. این آموزش به شما کمک می‌کند تا با قابلیت‌های جدید EF Core 9 و ابزارهای آن به خوبی آشنا شوید و مهارت‌های خود را در توسعه‌ی برنامه‌های ASP.NET Core به سطح بالاتری برسانید.

Scaffolding در EF Core

Scaffolding در EF Core یک ابزار قدرتمند برای تولید خودکار کد است. که به توسعه‌دهندگان اجازه می‌دهد. بدون نیاز به کدنویسی دستی، ساختارهای پایه‌ای و عملیات CRUD را برای مدل‌های خود ایجاد کنند. این فرآیند با تحلیل مدل‌های داده و پایگاه داده، کدهای مرتبط مانند کنترلرها، Viewها و کلاس‌های مدل را به‌طور خودکار تولید می‌کند.

استفاده از Scaffolding در EF Core باعث می‌شود. که زمان توسعه کاهش یابد و خطاهای احتمالی که ممکن است در کدنویسی دستی رخ دهند. به حداقل برسند. و به توسعه‌دهندگان امکان می‌دهد که به سرعت ساختارهای اصلی مورد نیاز برای کار با داده‌ها را بسازند. و تمرکز خود را بر روی بخش‌های پیچیده‌تر پروژه بگذارند.

کد های Scaffolding

  • ایجاد یک نمونه از DbContext

private readonly MyDbContext _context;
public UsersController(MyDbContext context)
{
_context = context;
}

  • عملیات نمایش – Read

// GET: Users
public async Task<IActionResult> Index()
{
return View(await _context.appUsers.ToListAsync());
}
// GET: Users/Details/5
public async Task<IActionResult> Details(int? id)
{
if (id == null)
{
return NotFound();
}
var appUser = await _context.appUsers
.FirstOrDefaultAsync(m => m.Id == id);
if (appUser == null)
{
return NotFound();
}
return View(appUser);
}

  • عملیات ایجاد – Create

// GET: Users/Create
public IActionResult Create()
{
return View();
}
// POST: Users/Create
// To protect from overposting attacks, enable the specific properties you want to bind to.
// For more details, see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Create([Bind("Id,Name,Family,City,Gender")] AppUser appUser)
{
if (ModelState.IsValid)
{
_context.Add(appUser);
await _context.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}
return View(appUser);
}

  • عملیات بروزرسانی – Update

// GET: Users/Edit/5
public async Task<IActionResult> Edit(int? id)
{
if (id == null)
{
return NotFound();
}
var appUser = await _context.appUsers.FindAsync(id);
if (appUser == null)
{
return NotFound();
}
return View(appUser);
}
// POST: Users/Edit/5
// To protect from overposting attacks, enable the specific properties you want to bind to.
// For more details, see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Edit(int id, [Bind("Id,Name,Family,City,Gender")] AppUser appUser)
{
if (id != appUser.Id)
{
return NotFound();
}
if (ModelState.IsValid)
{
try
{
_context.Update(appUser);
await _context.SaveChangesAsync();
}
catch (DbUpdateConcurrencyException)
{
if (!AppUserExists(appUser.Id))
{
return NotFound();
}
else
{
throw;
}
}
return RedirectToAction(nameof(Index));
}
return View(appUser);
}
private bool AppUserExists(int id)
{
return _context.appUsers.Any(e => e.Id == id);
}

  • عملیات حذف – Delete

// GET: Users/Delete/5
public async Task<IActionResult> Delete(int? id)
{
if (id == null)
{
return NotFound();
}
var appUser = await _context.appUsers
.FirstOrDefaultAsync(m => m.Id == id);
if (appUser == null)
{
return NotFound();
}
return View(appUser);
}
// POST: Users/Delete/5
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public async Task<IActionResult> DeleteConfirmed(int id)
{
var appUser = await _context.appUsers.FindAsync(id);
if (appUser != null)
{
_context.appUsers.Remove(appUser);
}
await _context.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}

جستجو کنید
دسترسی سریع
دسته ها

طراحی و پیاده سازی پروژه های طراحی سایت دانشجویی

انجام، اجرا و طراحی پروژه های طراحی سایت برای دانشجویان با HTML CSS PHP ASP.NET JAVA و ... با کمترین هزینه. برای مشاهده نمونه کارها و یا دریافت مشاوره رایگان از تیم طراحی سایت تهران آی تی با ما در تماس باشید. ما بهترین پروژه های طراحی سایت را با حداقل هزینه برای شما طراحی میکنیم - مشاوره رایگان 09121486770

مــشاوره و مشاهده نمونه کارها

مطالب مرتبط

لطفا از مطالب مرتبط با این پست دیدن فرمایید

جــذاب های هفته

از پربازدیدترین مطالب تهران آی تی در هفته ای که گذشت دیدن فرمایید

باورکردنی نیست فقط با 300 هزار تومان

طراحی سایت شما + طراحی اپلیکیشن هدیه و رایگان
این یک حراج است در مدت زمان محدود - شرکت های زیادی سایت های ارزان طراحی میکنند اما آیا کیفیت لازم را دارا هستند؟ طراحی سایت ارزان به همراه اپلیکیشن رایگان هدیه برای اولین بار توسط تهران آی تی مخصوص سازمان ها و کسب و کار های کوچک و بزرگ و حتی جدید تیم طراحی سایت تهران آی تی در کنار شماست تا شناخته شوید - مشاوره رایگان 09121486770

مــشاوره و مشاهده نمونه کارها

پشتیبانی 24 ساعته

تیم تهران آی تی در هفت روز هفته و 24 ساعت روز آماده پاسخ گویی به سوالات کاربران و ارائه مشاره رایگان میباشد