linq 查询 过滤数据中某个值是否在数组中
条件如下:
表A(公司表):ID(INT,PK),Name(nvarchar(255))
表B(用户表):ID(INT,PK),Name(nvarchar(255)),CompanyId(int)
求:表B中CompanyId 在数组中的所有数据。
先创建一个int型数组,个人喜欢先用list再转。如下:
- var companyList = _companyQuery.GetCompany(sId).ToList();//满足条件的公司列表
- List<int> companyList = new List<int>();
- for (int i = 0; i < companyList.Count; i++)
- {
- companyList.Add(companyList[i].ID);
- }
- var companyArray = companyList.ToArray();
数组创建完成:
companyArray
- var query = GetUsers(model);
- if (query != null && query.Any())
- {
- var result = query.Where(c => companyArray.Contains(c.CompanyId));//公司编号存在于数组的所有员工
- }
转载自:https://blog.csdn.net/nnn_net/article/details/53285378