如何更改QueryFilter运行时间?

时间:2019-09-07 06:40:04

标签: asp.net-core ef-core-2.1

我想更改QueryFilter的运行时间,所以我调用了OnModelCreating函数,但是它不起作用。

在DbContext类中:

private static ModelBuilder myModelBuilder;

private static ParsysDbContext _myParsysDbContext ;

 protected override void OnModelCreating(ModelBuilder modelBuilder)
 {

     modelBuilder.Entity<Page>().HasQueryFilter(q => q.Languge.Language_Name == CultureInfo.CurrentCulture.Name);

      myModelBuilder = modelBuilder;

      base.OnModelCreating(modelBuilder);
}

public static void OnModelCreatingCall()
{

      _myParsysDbContext.OnModelCreating(myModelBuilder);

}

1 个答案:

答案 0 :(得分:-1)

不确定您的预期结果和当前查询是什么。

如果您要查询Page,并且只返回包含{{1}和Page的{​​{1}},则可以尝试如下查询:

Languge.Language_Name

如果您要查询CultureInfo.CurrentCulture.Name,而只返回var result1 = context.Page.Include(p => p.Languge).ToList(); Languge,则需要像

那样在Languge上设置CultureInfo.CurrentCulture.Name
HasQueryFilter