小编Ash*_* K.的帖子

仅当参数值大于零时,LINQ 在 where 子句中应用过滤器?

我正在使用 LINQ 从数据库中检索记录。一切工作正常,除了我需要在单个查询中应用不同的过滤器。如果参数不Null 大于零,则显示所有员工记录。否则,如果它们为零Null或小于零,则不应用过滤器。以下是我目前的做法:

public ActionResult GetEmployee(int? JobTitleId, int? GenderId)
{
   var Emloyees = db.Employees.ToList();

   if(JobTitleId > 0)
   {
      Emloyees = Emloyees.Where(e => e.JobTitleId == JobTitleId).ToList();
   }

   if(GenderId> 0)
   {
      Emloyees = Emloyees.Where(e => e.GenderId == GenderId).ToList();
   }

}
Run Code Online (Sandbox Code Playgroud)

有什么方法可以将其应用于单个查询吗?我想做的是JobTitleId如果然后显示其他记录,否则过滤它们。GenderIdNull

.net c# linq asp.net-mvc entity-framework

2
推荐指数
1
解决办法
2433
查看次数

标签 统计

.net ×1

asp.net-mvc ×1

c# ×1

entity-framework ×1

linq ×1