问一个linq to sql 效率问题

小灰狼 2012-11-19 04:00:30

public static List<User> Search(SearchModel model){
var query =
from u in Users;
if(string.IsNullOrEmpty(model.Name) == false){
query = query.Where(m => m.Name.IndexOf(model.Name) >= 0);
}
if(string.IsNullOrEmpty(model.Address) == false){
query = query.Where(m => m.Address.IndexOf(model.Address) >= 0);
}
......
return query.List<User>();
}


查询这样写,dot net 是向数据库发送一次查询,还是每调用一次 Where,进行一次查询?
...全文
76 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
q107770540 2012-11-19
  • 打赏
  • 举报
回复
Where 是延迟查询操作符 方法会在最后执行到 .ToList()这个非延迟操作符的时候,去数据库查询数据 所以只会和数据库通信一次
小灰狼 2012-11-19
  • 打赏
  • 举报
回复
晕死,没写对,应该是 var query = from u in Users select u;

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧