过滤上下文级别的所有表

时间:2016-10-08 15:19:12

标签: entity-framework

我首先使用EF代码。这是我的上下文文件。

 public class MyContext : DbContext
    {
        public DbSet<Contact> Contacts { get; set; }
        public DbSet<Contact_phone> Contact_phones{ get; set; }
    }

我想在我的上下文文件中添加基于日期的过滤器,这样当我获取任何表的数据时,我只获得该特定日期范围。 请建议。

1 个答案:

答案 0 :(得分:2)

免责声明:我是该项目的所有者Entity Framework Plus

该库有一个查询过滤器,完全符合这种情况。

在幕后,它使用拦截器(对于EF6),正如史蒂夫格雷恩所建议的那样。

维基:EF+ Query Filter

过滤全局

<dependency>
  <groupId>com.fasterxml.jackson.datatype</groupId>
  <artifactId>jackson-datatype-jdk8</artifactId>
  <version>2.6.3</version>
</dependency>  

按实例过滤

startDate = new DateTime(2015, 1, 1);
QueryFilterManager.Filter<Contacts>(q => q.Where(x => x.CreatedDate > startDate));

// SELECT * FROM Contacts WHERE CreatedDate > '2015-01-01'
var context = ctx.Contacts.ToList();
相关问题