linq 查询 过滤数据中某个值是否在数组中

条件如下:

表A(公司表):ID(INT,PK),Name(nvarchar(255))

表B(用户表):ID(INT,PK),Name(nvarchar(255)),CompanyId(int)

 

求:表B中CompanyId 在数组中的所有数据。

先创建一个int型数组,个人喜欢先用list再转。如下:

 

[csharp] view plain copy
 
  1. var companyList = _companyQuery.GetCompany(sId).ToList();//满足条件的公司列表  
  2.            List<int> companyList = new List<int>();  
  3.            for (int i = 0; i < companyList.Count; i++)  
  4.            {  
  5.                companyList.Add(companyList[i].ID);  
  6.            }  
  7.            var companyArray = companyList.ToArray();  


数组创建完成:

 

companyArray

 

[csharp] view plain copy
 
  1. var query = GetUsers(model);  
  2.                 if (query != null && query.Any())  
  3.                 {  
  4.                     var result = query.Where(c => companyArray.Contains(c.CompanyId));//公司编号存在于数组的所有员工  
  5.                       
  6.                 }  


转载自:https://blog.csdn.net/nnn_net/article/details/53285378

 

posted @ 2020-03-25 16:07  objnet  阅读(582)  评论(0编辑  收藏  举报