thr*_*thr 5 .net c# entity-framework
定义对象上下文时,首先在实体框架中使用代码,例如:
public class DomainContext : DbContext
{
public DomainContext() { }
public virtual DbSet<News> News { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我们都知道你可以查询"新闻"做类似的事情(例如,获取今天发布的所有新闻):
var ctx = new DomainContext();
ctx.News.Where(x => x.PublishedDate == DateTime.Now.Date)
Run Code Online (Sandbox Code Playgroud)
但是,这就是问题:是否有办法对所有通过的查询应用预定义的过滤/条件ctx.News?假设我希望所有查询ctx.News都隐式应用"Published Today"过滤?
您可以将新属性添加到您的上下文中:
public IEnumerable<News> TodaysNews
{
get
{
return this.News.Where(x => x.PublishedDate == DateTime.Now.Date);
}
}
Run Code Online (Sandbox Code Playgroud)
然后可以将任何进一步的过滤/排序/等应用于该属性。
更新:
如果您无法仅使用预先过滤的查询,另一种选择是在数据库中创建视图并将实体映射到该视图。该视图可以基于当前日期。
| 归档时间: |
|
| 查看次数: |
6630 次 |
| 最近记录: |