Browse Source

Update `Data-Filtering.md`.

pull/17207/head
maliming 3 years ago
parent
commit
038dc02dc6
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 10
      docs/en/Data-Filtering.md
  2. 10
      docs/zh-Hans/Data-Filtering.md

10
docs/en/Data-Filtering.md

@ -255,7 +255,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
ABP abstracts the `IMongoDbRepositoryFilterer` interface to implement data filtering for the [MongoDB Integration](MongoDB.md), it works only if you use the repositories properly. Otherwise, you should manually filter the data.
Currently, the best way to implement a data filter for the MongoDB integration is to create a derived class of `MongoDbRepositoryFilterer` and override `AddGlobalFilters`. Example:
Currently, the best way to implement a data filter for the MongoDB integration is to create a derived class of `MongoDbRepositoryFilterer` and override `FilterQueryable`. Example:
````csharp
[ExposeServices(typeof(IMongoDbRepositoryFilterer<Book, Guid>))]
@ -268,14 +268,14 @@ public class BookMongoDbRepositoryFilterer : MongoDbRepositoryFilterer<Book, Gui
{
}
public override void AddGlobalFilters(List<FilterDefinition<Book>> filters)
public override TQueryable FilterQueryable<TQueryable>(TQueryable query)
{
base.AddGlobalFilters(filters);
if (DataFilter.IsEnabled<IIsActive>())
{
filters.Add(Builders<Book>.Filter.Eq(e => ((IIsActive)e).IsActive, true));
return (TQueryable)query.Where(x => x.IsActive);
}
return base.FilterQueryable(query);
}
}
````

10
docs/zh-Hans/Data-Filtering.md

@ -190,7 +190,7 @@ protected override Expression<Func<TEntity, bool>> CreateFilterExpression<TEntit
ABP抽象了 `IMongoDbRepositoryFilterer` 接口为[MongoDB 集成](MongoDB.md)实现数据过滤, 只有正确的使用仓储,它才会工作. 否则你需要手动过滤数据.
目前为MongoDB集成实现数据过滤的最佳方法是重写派生自 `MongoDbRepositoryFilterer` 基类的 `AddGlobalFilters` 方法:
目前为MongoDB集成实现数据过滤的最佳方法是重写派生自 `MongoDbRepositoryFilterer` 基类的 `FilterQueryable` 方法:
````csharp
[ExposeServices(typeof(IMongoDbRepositoryFilterer<Book, Guid>))]
@ -203,14 +203,14 @@ public class BookMongoDbRepositoryFilterer : MongoDbRepositoryFilterer<Book, Gui
{
}
public override void AddGlobalFilters(List<FilterDefinition<Book>> filters)
public override TQueryable FilterQueryable<TQueryable>(TQueryable query)
{
base.AddGlobalFilters(filters);
if (DataFilter.IsEnabled<IIsActive>())
{
filters.Add(Builders<Book>.Filter.Eq(e => ((IIsActive)e).IsActive, true));
return (TQueryable)query.Where(x => x.IsActive);
}
return base.FilterQueryable(query);
}
}
````

Loading…
Cancel
Save