如何将查询结果过滤到字符串列表

时间:2018-07-14 13:20:38

标签: list linq

我的查询结果如下:

var ptns = from p in db.Patients
           select p;

此查询返回患者列表,但我需要根据DoctorNameID过滤结果。 DoctorNameID应该在以下医生名单中:

 List<string> listofDoctors = usrtodrs.Split(',').ToList();

我进行了很多搜索,但我不知道该怎么做。我已经测试了无法使用的查询:

var  ptns1 = from d in listofDoctors
             join p in ptns.ToList() on d equals p.DoctorNameID
             select p;

还有这个查询:

var ptns1  = ptns.ToList()
                 .Where(a => listofDoctors.Equals(a.DoctorNameID))
                 .ToList();

有帮助吗?

1 个答案:

答案 0 :(得分:1)

您可以使用Contains扩展名并获得所需的结果。

var ptns1 = ptns.Where(x => listofDoctors.Contains(x.DoctorNameID)).ToList();

请向C# Fiddle提供示例数据。