我有一个linq查询,它从odata服务中提取数据,如下所示:
var Query = from t in results.People
where t.Invalid == false && t.Id == 148
select new
{
t.Name,
t.Location
}我还有一个I为{148,149,150...}的字符串数组,我想用数组中的每个I替换上面的t.Id == 148表达式。
如果没有for循环,我不确定它的语法是如何进行的。有没有人能告诉我这是不是可能的?
发布于 2014-04-24 22:28:33
对于OData,您可以尝试:
var Query = from t in results.People
from r in ids
where t.Invalid == false && t.Id = r
select new
{
t.Name,
t.Location
};这将返回数组ids中具有匹配ids的所有行
对于LINQ to objects或LINQ to SQL/Entity框架,查询通常是:
var Query = from t in results.People
where t.Invalid == false && ids.Contains(t.Id)
select new
{
t.Name,
t.Location
};https://stackoverflow.com/questions/23271819
复制相似问题