我首先使用EF代码。这是我的上下文文件。
public class MyContext : DbContext
{
public DbSet<Contact> Contacts { get; set; }
public DbSet<Contact_phone> Contact_phones{ get; set; }
}
我想在我的上下文文件中添加基于日期的过滤器,这样当我获取任何表的数据时,我只获得该特定日期范围。 请建议。
答案 0 :(得分:2)
免责声明:我是该项目的所有者Entity Framework Plus
该库有一个查询过滤器,完全符合这种情况。
在幕后,它使用拦截器(对于EF6),正如史蒂夫格雷恩所建议的那样。
过滤全局
<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();