You are currently viewing EF Core – Global Query Filters

EF Core – Global Query Filters

یکی از قابلیت های پرکاربردی که به EF Core اضافه شده ، قابلیت Global Query Filters هست.

قطعا در پیاده سازی پروژه ها با مواردی روبرو شدیم که Entity ما مثلا دارای پراپرتی با نام Deleted هست که بصورت Soft Delete ما اون رکورد رو از دیتابیس حذف میکنینم (رکورد در دیتابیس باقی میمونه ولی صرفا درصورت true بودن مقدار این پراپرتی ، پاک شده در نظر گرفته میشه )

بطور کلی رکوردهای این چنینی نباید به end-user نمایش داده بشن.

یک حالتی که میشه این مورد رو مدیریت کرد این هست که در تمام کوئری هایی که مینویسیم شرط !Deleted رو لحاظ کنیم تا رکوردهای دارای این شرط در واکشی داده ها نیان.

myDbContext.Books.Where(x=> !x.Deleted);

راه دیگه استفاده از قابلیت Global Query Filters ها در EF Core هست که به ما این امکان رو میده شروطی رو در زمان تعریف metadata مدل تعریف کنیم تا بصورت خودکار در زمان واکشی اطلاعات مربوط به این  entity به query ما اضافه بشن.

در این ویدئو این مورد رو با یک مثال براتون توضیح دادم .

این پست دارای یک نظر است

  1. قاسمی

    مطلب جالبی بود ممنون

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