سبد خرید 0

وبلاگ

فراخوانی View توسط Entity framework Core

View چیست ؟

در SQL Server ، ویو  یک جدول مجازی می باشد که ماحصل اجرای یک کوئری می باشد که برای سناریو های خاصی نوشته شده اند که به صورت Read-only می باشند.

اگر نیاز به نوشتن View دارید و از EntityFramework Core استفاده می می کنید، میتوانید طبق روشی که در ادامه توضیح داده خواهد شد اقدام به استفاده از View نمایید.

ایجاد View :

ابتدا نیاز داریم یک View ایجاد نماییم، برای ایجاد View با استفاده از اضافه نمودن Migration اقدام به ایجاد view میکنیم.

برای اینکار ابتدا دستور زیر را اجرا نمایید تا یک migration جدید ایجاد میکنیم :

و سپس محتوای آن را به صورت زیر تغییر میدهیم:

و سپس دستور زیر را اجرا میکنیم تا Migration فوق بر روی دیتابیس اعمال شود و View ساخته شود:

تا به اینجا موفق شدیم View مورد نظر را ایجاد کنیم.

در مرحله بعد نیاز هست یک Model مطابق با خروجی view مورد نظر ایجاد کنیم، برای این منظور کلاس زیر را ایجاد میکنیم :

و سپس نیاز داریم تا یک DbSet از نوع کلاس فوق را به DataContext اشافه نماییم:

نکته حائر اهمیت در مورد استفاده از view ها این هست که Model مروبطه دارای کلید اصلی نیست و اگر با Entity Framework آشنایی داشته باشید، همه  مدل هایی که تحت DbSet به context معرفی می شود می بایست دارای کلید اصلی باشند در غیر اینصورت ایجاد دیتابیس با خطا مواجه خواهد شد. در مدل فوق که معادل view هست فیلدی تحت عنوان کلید اصلی نداریم و نیازی به داشتن آن نیست، برای اتمام کار نیاز هست تا کانفیگ زیر برای مدل مربوط انجام شود :

بعد از انجام این مراحل، همانند سایر DbSet های دیگر میتوان اطلاعات را از دیتابیس فراخونی کرد.

 

اشتراک گذاری:

مطالب زیر را حتما مطالعه کنید

2 دیدگاه

به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.

  • سلام از مطلب بسیار آموزنده تون ممنونم

    ببخشید اگر ویو رو در بانک اطلاعاتی ایجاد کرده باشیم ، امکانش هست که به صورت مستقیم با بقیه مدل ها ، مدل view هم ساخته بشه ؟
    منظورم با دستور Scaffold-DbContext هست ، که بقیه جداول رو از بانک فراخوانی و مدلهای مربوطه ساخته میشه

دیدگاهتان را بنویسید

keyboard_arrow_up