در این قسمت از دوره پیشرفته Entity Framework Core 9 به عملیات Read در EF Core میپردازیم. در Entity Framework Core 9، عملیات Read یکی از بخش های CRUD است. که به صورت بسیار کارآمدی پیادهسازی میشود و میتوان از قابلیتهای پیشرفتهی آن بهره برد. عملیات CRUD در دنیای برنامهنویسی به چهار عملیات اصلی برای مدیریت دادهها اشاره دارد. در این آموزش عملیات Read را مورد برسی قرار میدهیم.
ابتدا باید یک نمونه از کلاس DbContext خود ایجاد کنیم. در این مثال نام کلاس DbContext ما MyDbContext است. سپس یک سازنده برای کنترلر خود ایجاد میکنیم.به عنوان ورودی به سازنده خود کلاس MyDbContext را میدهیم. و نیازمندی های کلاس MyDbContext خود را تزریق میکنیم.
private readonly MyDbContext _context;
public UsersController(MyDbContext context)
{
_context = context;
}
در این بخش لیستی از فیلدهای یگ جدول را نمایش میدهیم.
public async Task<IActionResult> Index()
{
return View(await _context.appUsers.ToListAsync());
}
به عنوان ورودی یک Id دریافت میشود. دلیل اختیاری بودن دریافت ID به این دلیل است که درصورتی که وارد نشد ارور بوجود نیاید. ولی داخل متد برسی میشود. که Id وارد شده یا خیر. و در مرحله دوم برسی میشود که آیا فیلدی با همچین Id وجود دارد؟ که اگر وجود داشت آن را به سمت ویو ارسال میکند.
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);
}
سلام استاد
در انتهای آموزش این بخش که قراره با کلیک روی یک ردیف جزئیات اون کاربر مشاهده بشه، کلی گیر کرده بودم و بجای Id هر ردیف، کلمه Id در Browser ظاهر می شد و خطا میداد.
متوجه شدم که در انتهای کد فایل Index.cshtml ، باید Id رو برای هر سه گزینه ویرایش و جزویات و حذف بصورت دینامیک و @item.Id نوشت. یعنی بصورت زیر:
گفتم اینجا بیارم که اگر کسی مشکل داشت زودتر حل بشه.
ممنون از آموزش عالی شما