
عملیات Read در EF Core
در این قسمت از دوره پیشرفته Entity Framework Core 9 به عملیات Read در EF Core میپردازیم. در Entity Framework Core 9، عملیات Read یکی از بخش های CRUD است. که به صورت بسیار کارآمدی پیادهسازی میشود و میتوان از قابلیتهای پیشرفتهی آن بهره برد. عملیات CRUD در دنیای برنامهنویسی به چهار عملیات اصلی برای مدیریت دادهها اشاره دارد. در این آموزش عملیات Read را مورد برسی قرار میدهیم.
ایجاد یک نمونه از DbContext
ابتدا باید یک نمونه از کلاس DbContext خود ایجاد کنیم. در این مثال نام کلاس DbContext ما MyDbContext است. سپس یک سازنده برای کنترلر خود ایجاد میکنیم.به عنوان ورودی به سازنده خود کلاس MyDbContext را میدهیم. و نیازمندی های کلاس MyDbContext خود را تزریق میکنیم.
private readonly MyDbContext _context;
public UsersController(MyDbContext context)
{
_context = context;
}عملیات Read، نمایش لیستی از فیلدها
در این بخش لیستی از فیلدهای یگ جدول را نمایش میدهیم.
public async Task<IActionResult> Index()
{
return View(await _context.appUsers.ToListAsync());
}عملیات Read، نمایش یک فیلد
به عنوان ورودی یک 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 نوشت. یعنی بصورت زیر:
<a><i></i></a>
<a><i></i></a>
<a><i></i></a>
گفتم اینجا بیارم که اگر کسی مشکل داشت زودتر حل بشه.
ممنون از آموزش عالی شما
مشکلی که در پیام قبلی عرض کردم در پکیج تهران آی تی ورژن ۱ وجود داره و خوشبختانه با استفاده از ورژن نهایی یعنی ۱٫۲ مورد رفع شده است.