【发布时间】:2022-01-22 02:40:24
【问题描述】:
我有一种情况,我想通过登录的用户 ID 过滤表,或者确切地说是某个名为 AllowedVehicles 的字段。
事情是identityContext 只有在登录时才填充字段AllowedVehicles,之后是AllowedVehicles 属性实际上是从数据库中读取的。我的代码不起作用,因为一旦执行 OnModelCreating 并且它只执行一次,AllowedVehicles 是空列表。
这种情况下如何进行全局过滤查询。
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.ApplyGlobalFilters<IBaseEntity>(x => x.DeletedAt == null);
if (_identityContext != null && _identityContext.AllowedVehicles.Count() > 0)
{
modelBuilder.ApplyGlobalFilters<Vehicle>(x => _identityContext.AllowedVehicles.Select(x => x.Id).Contains(x.Id));
}
}
【问题讨论】:
标签: c# .net entity-framework entity-framework-core