有没有办法提高查询速度啊?
我现在在代码中将数据从数据库中取出来然后放到List集合中,然后从这个List中查找需要的数据。这就是传统的思路,但是现在因为查询次数比较多,速度感觉不太理想,有没有更好的数据集合会提高查询速度,或者有没有比较好的查询方法啊?
我写的代码很简单,就是传统的查询
先有一个List集合。
List<UserOURoleInfo> listAllUser
然后:
foreach (string roleID in arRoleID)
{
int intRoleID = Convert.ToInt32(roleID);
var objUsers = from u in listAllUser
where u.RoleID == intRoleID && u.OUID == intOUIDS
select u;
objUserList.AddRange(objUsers);
}
------解决方案--------------------你不会每次都到数据库里listAllUser吧?
------解决方案--------------------//可以这样写 ,不过有个问题 listAllUser是不是还可以在过滤掉intOUIDS 这样listAllUser的结果集是不是更少些
var objUserList = arRoleID.SelectMany(c =>
{
return listAllUser.Where(x =>Convert.ToInt32(c) == x.RoleID && x.OUID == intOUIDS);
}).ToList();