我有以下方法可以为我返回一些数据:
public List<Document> GetDocumentsList(Guid sessionID, bool includeValid, bool includeExpired, bool includeAboutToExpire)
{
using (DB db = new DB())
{
// get the active documents
var docs = db.Documents
.Where(d =>
db.EmployeeStatuses
.Any(s => s.EmpID == d.EmpID && s.StatusEndDate == null && s.Status == "Active")
);
// how to filter the result depending on includeValid, includeExpired and includeAboutToExpired parameters?
return docs.ToList()
}
}
这里的问题是,我想根据bool
参数过滤结果,例如,如果includeValid
为 true,则将包含有效文档,如果为 true,则将包含includeExpired
过期文档等等,我可以同时拥有这三个真实的或其中一两个是真实的。我不想多次调用数据库。有没有一种逻辑可以通过一个电话来做到这一点?