如何在使用linq进行实体查询的地方之间添加OR?

我想在linq中使用OR从同一列中搜索多个值。在SQL中,它是这样的:


var query = "Select * from table where id = 1";

query += "OR where id = 2";

id来自id数组,因此我将id传递给变量并循环。数组中ID的数量不是固定的,它取决于用户通过选中表中的复选框选择的ID数量。因为如果我按以下方式进行操作,则它将返回null,因为它在某种程度上将我的where查询解释为AND。我如何更改它,以便它将从所有ID(使用OR)获取行?


Request request = db.Requests;

var selectedIdList = new List<string>(arrId);

if (arrId.Length > 0)

{

   for (var item = 0; item <= selectedIdList.Count() - 1; item++)

   {

      var detailId = Convert.ToInt32(selectedIdList[item]);


      request = request.Where(y => y.Id == detailId);

   }

}


一只萌萌小番薯
浏览 188回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP