Entity Framework по умолчанию исключает архивные записи - PullRequest
0 голосов
/ 08 июля 2019

Как настроить Entity Framework для исключения архивированных записей по умолчанию? Или, другими словами, добавьте фильтр или условие, которое применяется к таблице, которая будет глобально влиять на все ее использование.

1 Ответ

2 голосов
/ 08 июля 2019

Применение фильтров глобальных запросов - это путь (это не очевидно из поиска в Google).Это можно сделать внутри DbContext в соответствии со статьей Microsoft: https://docs.microsoft.com/en-us/ef/core/querying/filters

, то есть:

protected override void OnModelCreating(ModelBuilder modelBuilder) {
    // ...
    modelBuilder.Entity<Category>().HasQueryFilter(x => x.Archived == false);
    //...
}

Приятно то, что потребитель может игнорировать эти глобальные фильтры запросов (какподробно описано в статье).

...