在查询中查找项目列表

时间:2014-02-25 18:54:09

标签: c# linq linq-to-entities

我将studentKeys的字符串列表传递给我的LINQ to Entities查询。 所以我想返回即将到来的列表中的那些数据。

public IQueryable<Students> GetStudentsFromKeys(List<string> studentKeys)
{
    var result = from a in this.Context.Students
    where // ?

    return result.ToList();
}

但我该如何写这样的查询呢?我想查询该表,如果它的键与该列表中的一个键相同,则返回该结果。

1 个答案:

答案 0 :(得分:3)

你可以这样做:

var result = from a in this.Context.Students
             where studentKeys.Contains(a.StudentKey)
             select a;

或使用方法语法:

var query = this.Context.Students
                        .Where(r => studentKeys.Contains(r.StudentKey));

(假设StudentKey是您要比较的字段的名称)

这将生成类似于

的查询
SELECT * from Students WHERE StudentKey in ("1","2","3")