首页 > 代码库 > EF中的延迟加载和贪婪加载
EF中的延迟加载和贪婪加载
延迟加载:
优点:
仅在需要的时候加载数据,不需要预先计划,从而避免了各种复杂的外连接、索引、视图操作带来的低效率问题
使用方式:
第一:
在需要的延迟加载的属性前加上virtual,该属性的类型可以是任务的集合类型 ICOLOOCT<T>或者是0、1..1关联属性
如: public virtual List<Product> Products {get;set;}
第二:
在context构造器中开启延迟加载功能
ContextOptions.LazyLodingEnabled = true;
缺点:
多次与数据库交互,性能降低
阻止延迟加载解决方案:
Tolist(),返回的东西是个内存级的对象,就是说强迫它在这里执行一次SQL语句,查询到的东西放在Web服务器内存里,这里达到了缓存的效果,从而阻止了延迟加载
EF中的延迟加载和贪婪加载
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。