سلام استاد عزیز
بنده یه View داخل دیتابیس برای گزارش هام ساختم که join جداول من هست ، حالا از این view میخواهم داخل DbContext استفاده کنم ، روشی که من دارم استفاده میکنم Database First هست .
قبلا وقتی با EF6 و Data Base First کار میکردم View دیتابیسی رو نمایش میداد و من میتونستم به EDMX اضافه کنم ، ولی داخل EF Core نمیتونم این کار رو انجام بدم لطفا راهنمایی کنید در حالت Database first باید چیکار کنم .
View رو هم به صورت دستی به Dbcontext اضافه کردم ولی به محض این که تغییری در دیتابیس ایجاد بشه و Dbcontext به روز رسانی کنم view من از Dbcontext پاک میشه .
با تشکر
سلام
در EF Core دیگه EDMX نداریم دوست من
ممنونم از پاسخ استاد عزیر بله این رو میدونم که EDMX نداریم ، در حال حاضر چطور میتونم به View دیتابیسی به Dbcontext اضافه کنم با توجه به شرایطی که بالا براتون توضیح دادم (Database First)
لینک زیر را مشاهده بفرمائید
https://www.michalbialecki.com/2020/09/09/working-with-views-in-entity-framework-core-5/
برای اینکه با هر بار تغییر اطلاعات توی Dbcontext پاک نشه
میتونی اون اطلاعات رو توی یکی کلاس دیگه بریزی
و باستفاه از partial , internal کلاس ها و یکی کردن namespace ها این دوتا کلاس رو بهم متصل کنی
namespace Request.Models
{
public partial class TblRequest
{
....
}
}
namespace Request.Models.MetaData
{
internal class RequestMetaData
{
کدهایی که میخای داشته باشی و تعییر نکنه
}
}
namespace Request.Models
{
[MetadataType(typeof(Request.Models.MetaData.RequestMetaData))]
public partial class TblRequest
{
}
}
با Fluent Api هم میتونید View رو به Context متصل کنید ، یه بار انجام دادم ولی کدش خاطرم نیست
سلام ممنونم
اتفاقا همین روشی رو که گفتین به ذهن خودم رسید بعد از این که بررسی کردم
باید یه کلاس پارشال ایجاد کنیم که View ها رو داخل ان قرار بدیم
از نویسنده اون مقاله که اقای مدائنی معرفی کردن پرسیدم .
جواب جالبی دادن