我正在使用EF 6,并使用代码优先迁移。
我以前有一个表Requests
,它只包含一种类型的请求,现在我开始在其中添加不同类型的请求,并且总是在用LINQ查询时,我必须做这样的事情:
_repository.Requests.Where(r => r.Type == Type.BestRequest &&......)
_repository.Requests.Where(r => r.Type == Type.AwesomeRequest &&......)
在我的DbContext
,我有这个DbSet
,总是返回:
public DbSet<Request> Requests { get; set; }
是否可以通过执行以下操作来预过滤请求:
_repository.BestRequests.Where(r => ......)
但是我仍然希望在数据库中有一个名为Requests的表。
我在自己的环境中创建了额外的属性,IRepository
并在DbContext中实现了这些属性。
IQueryable<Request> IRepository.BestRequests {
get { return Requests.Where(r => r.Type == Type.BestRequest); }
}
IQueryable<Request> IRepository.AwesomeRequests {
get { return Requests.Where(r => r.Type == Type.AwesomeRequest); }
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句