我有一个包含所有peronID的列表,我想运行一个Linq查询来检索剩余的详细信息。
这是我的代码,但我相信它会检查我的People数据库表中的每个项目,而不是我的personID列表中的每个项目都是低效的:
List<int> personIDs = Session["PeopleList"] as List<int>;
var people = (from c in db.People
where (
from a in personIDs
where a == c.PersonID
select a
).Any()
select c);
是否有更有效的方法来运行此代码?
答案 0 :(得分:3)
你可以这样做:
var people = (from c in db.People
where personIDs.contains(c.id)
select c).ToList();