我将studentKeys的字符串列表传递给我的LINQ to Entities查询。 所以我想返回即将到来的列表中的那些数据。
public IQueryable<Students> GetStudentsFromKeys(List<string> studentKeys)
{
var result = from a in this.Context.Students
where // ?
return result.ToList();
}
但我该如何写这样的查询呢?我想查询该表,如果它的键与该列表中的一个键相同,则返回该结果。
答案 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")