با استفاده از آن میتوانیم فیلترهایی را به صورت سراسری بر روی تمام کوئریهای یک شیء اعمال کنیم.برای مواردی مانند پیادهسازی soft delete (حذف نرم)، چند مستاجره (multi-tenancy) و یا فیلترهای امنیتی کاربردی است.
مثال 1: پیادهسازی Soft Delete
فرض کنید یک شیء به نام Employee داریم که شامل یک فیلد IsDeleted است که نشاندهنده وضعیت حذف نرم است.
public class Employee
{
public int Id { get; set; }
public string Name { get; set; }
public bool IsDeleted { get; set; }
با استفاده از آن میتوانیم فیلترهایی را به صورت سراسری بر روی تمام کوئریهای یک شیء اعمال کنیم.برای مواردی مانند پیادهسازی soft delete (حذف نرم)، چند مستاجره (multi-tenancy) و یا فیلترهای امنیتی کاربردی است.
مثال 1: پیادهسازی Soft Delete فرض کنید یک شیء به نام Employee داریم که شامل یک فیلد IsDeleted است که نشاندهنده وضعیت حذف نرم است.
public class Employee {
}
public class MyDbContext : DbContext {
}
با این تعریف، هر کوئری که به Employees ارسال شود به صورت خودکار فقط رکوردهایی را که IsDeleted برابر با false دارند، برمیگرداند.