繁体   English   中英

EF按属性/类型做预过滤器表

[英]EF doing prefilter table by property/type

我正在使用EF 6,并使用代码优先迁移。

我以前有一个表Requests ,它只包含一种类型的请求,现在我开始在其中添加不同类型的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); }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM