Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 筛选上下文级别上的所有表_Entity Framework - Fatal编程技术网

Entity framework 筛选上下文级别上的所有表

Entity framework 筛选上下文级别上的所有表,entity-framework,Entity Framework,我使用的是EF代码优先方法。这是我的上下文文件 public class MyContext : DbContext { public DbSet<Contact> Contacts { get; set; } public DbSet<Contact_phone> Contact_phones{ get; set; } } 公共类MyContext:DbContext { 公共数据库集联系人{get;set;} 公共数

我使用的是EF代码优先方法。这是我的上下文文件

 public class MyContext : DbContext
    {
        public DbSet<Contact> Contacts { get; set; }
        public DbSet<Contact_phone> Contact_phones{ get; set; }
    }
公共类MyContext:DbContext
{
公共数据库集联系人{get;set;}
公共数据库集联系人{get;set;}
}
我想在我的上下文文件中添加基于日期的过滤器,这样当我获取任何表的数据时,我只获取该特定日期范围的数据。
请建议。

免责声明:我是项目的所有者

库中有一个查询过滤器,它正好执行此场景

在引擎盖下,它使用了史蒂夫·格伦建议的拦截器(用于EF6)

维基:

全局筛选

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();
startDate=新日期时间(2015,1,1);
过滤器(q=>q.Where(x=>x.CreatedDate>startDate));
//从CreatedDate>'2015-01-01'中的联系人中选择*
var context=ctx.Contacts.ToList();
按实例筛选

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

// SELECT * FROM Contacts WHERE CreatedDate > '2015-01-01'
var context = ctx.Contacts.ToList();
startDate=新日期时间(2015,1,1);
var ctx=新的MyContext();
过滤(q=>q.Where(x=>x.CreatedDate>startDate));
//从CreatedDate>'2015-01-01'中的联系人中选择*
var context=ctx.Contacts.ToList();

免责声明:我是项目的所有者

库中有一个查询过滤器,它正好执行此场景

在引擎盖下,它使用了史蒂夫·格伦建议的拦截器(用于EF6)

维基:

全局筛选

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();
startDate=新日期时间(2015,1,1);
过滤器(q=>q.Where(x=>x.CreatedDate>startDate));
//从CreatedDate>'2015-01-01'中的联系人中选择*
var context=ctx.Contacts.ToList();
按实例筛选

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

// SELECT * FROM Contacts WHERE CreatedDate > '2015-01-01'
var context = ctx.Contacts.ToList();
startDate=新日期时间(2015,1,1);
var ctx=新的MyContext();
过滤(q=>q.Where(x=>x.CreatedDate>startDate));
//从CreatedDate>'2015-01-01'中的联系人中选择*
var context=ctx.Contacts.ToList();

这有点奇怪。你想在哪里约会?我想你不是在说相对容易地过滤你的联系人或联系人电话,而是想为所有表提供上下文范围的内容?请参阅@CodeNotFound,就像我只想要当年的数据一样,所以我只为今年设置日期,并且在我在应用程序级别访问的所有点上,它只为我提供今年的数据。@SteveGreene是的,所有表都需要它,所以你必须像@SteveGreene建议的那样寻找拦截器。这有点奇怪。你想在哪里约会?我想你不是在说相对容易地过滤你的联系人或联系人电话,而是想为所有表提供上下文范围的内容?请参阅@CodeNotFound,就像我只需要当年的数据一样,因此我只为今年设置日期,并且在我访问应用程序级别时,它提供的所有数据都是今年的数据。@SteveGreene是的,我需要所有表都使用它,所以您必须按照@SteveGreene的建议查找拦截器。您好,您是否可以更新以显示这在全球所有实体(例如tenantID)中是如何实现的?您好,您是否可以更新以显示这在全球所有实体(例如tenantID)中是如何实现的?