linq过滤问题

时间:2017-06-12 12:40:09

标签: c# asp.net-mvc linq

我有两个表(一个是作业,另一个是参与者)。我使用以下代码

public ActionResult Index(string subjectId) // filter participants based on the subject that they belong to 
{

    var participants = db.Participant.Where(x => x.SubjectsID.ToString().Contains(subjectId)).ToList();

    return View(participants);
}

以下代码只返回一个空白列表

我们将不胜感激。

3 个答案:

答案 0 :(得分:1)

        {            
            var participants = db.Participant.Where(x => x.SubjectsID.ToLower().Contains(subjectId.ToLower())).ToList();            
            return View(participants);
        }

这将使所有记录与所需主题一起存在

答案 1 :(得分:0)

我认为你应该使用

var participants = db.Participant.Where(x => x.SubjectsID == subjectId).ToList();

而不是

var participants = db.Participant.Where(x => x.SubjectsID.ToString().Contains(subjectId)).ToList();

答案 2 :(得分:0)

只需检查等于运算符,

public ActionResult Index(string subjectId)
 {
  var participants = db.Participant.Where(x =>
                     x.SubjectsID.ToString() == subjectId).ToList();
  return View(participants);
 }

希望有所帮助:)