CompanyList companyList = new CompanyList();
companyList.matchCompanies();
CompanyListObject[] companyListObject = companyList.companyList;
List<double> companylist = new List<double>();
foreach (var company123 in companyListObject)
{
if (company123.parentCompany == companyID)
{
companylist.Add(company123.companyID);
}
}
IEnumerable<RaCallRatesMatched> items =
db.RaCallRatesMatched.Where(row => row.accountcode == companyIDDouble);
我想拉出列值中存在行值的结果。基本上我的列表包含所有公司ID。这是一个很短的清单,有些是3-5个元素。而不是检查行是否只等于列表值之一。我可以检查它是否等于更多吗?
请记住,我不能在固定的上下文中使用||
语句,因为列表大小会有所不同。例如,与List[0] || List[1] || List[2]
的比较过于固定,如果时间过长,我会收到异常。
我无法对数据库进行多次调用,因为每次调用都需要花费很长时间才能构建。我可以一次性完成这一切吗?
答案 0 :(得分:1)
使用.Any()
e.g。
MyCompanyList.Any(x => x.Equals(MyCompanyName));
此示例中MyCompanyList
是字符串列表。这也可以应用于整数列表。等
您可以比较复杂类中的任何参数,或任何类型的有效等式检查。
答案 1 :(得分:1)
IEnumerable<RaCallRatesMatched> items = db.RaCallRatesMatched.Where(row => companylist.Any(y => y == row.accountcode));
这很有用。感谢Doomsknight和我的几位同事!