var result = from a in db.Accounts select a;foreach(int id in ids)
{
    result = result.Where(?)
}如上,我有多个id希望拼接到linq查询中,请问如何实现?谢谢

解决方案 »

  1.   


    就是把符合 ids 的值筛选出来。比如,db.Account.Where(p=>p.Id == id); 这样。但我现在是有个 ids 集合。
      

  2.   

    var result = from a in db.Accounts where ids.Contains(a) select a;
      

  3.   

    这不用写在 for 里吗?我的代码是
    Database db = new Database();public void Query(string name, params byte[] types)
    {
        var result = from a in db.Accounts select a;
        if(!string.IsNullOrEmpty(name))
            result = result.Where(p=>p.AccountName == name);    foreach(byte b in types)
        {
            result = ? // 不知道这里怎么办了
        }
    }
      

  4.   

    3楼给你的那个例子就像 sql中的 where id in(1,2,3,4)这种效果一样,不需要循环
      

  5.   


    result=result.Union( id.select(...) )
      

  6.   


    result=result.Union( id.select(...) )
      

  7.   


    result=result.Union( id.select(...) )