EF中避免查询重复执行的手段

  由于ef有lazyload机制,编写的查询语句往往都没有立即执行,当你轮训结果集的时候才会将查询翻译成database端的sql语句,执行sql将结果返回到方法中。但是,下次再使用前面的结果集的时候,又会再一次的到数据库中去查询数据。因此,有时候我们希望这个查询只执行一次,而不是每次使用结果集的时候都去数据库查询,下面有几个解决方案:

希望拿到结果集:

1、使用ToList()强制执行;

2、使用ToArray();

 

拿到单一数据:

1、Single() 或 SingleOrDefault();

2、First() 或 FirstOrDefault();

EF中避免查询重复执行的手段

上一篇:ViewPager PagerAdapter不更新视图


下一篇:maven多个子module项目,相互依赖,提示“程序包不存在”