码迷,mamicode.com
首页 > 数据库 > 详细

使用EntityFrameWork 5.0面向存储过程(&执行Sql,性能优化)

时间:2015-09-03 01:47:37      阅读:400      评论:0      收藏:0      [点我收藏+]

标签:

                EntityFrameWork5.0简单使用

概要:

    使用EntityFrameWork5.0执行存储过程,Sql语句(DDL/DML)以及一点关于优化性能的方面;

正文:

   在myef.tt下会包含需要展示数据的存储过程(select)

   技术分享

   模型浏览器如下,

   技术分享

   1.EF如何调用存储过程:

   Note:数据库的表对应的实体,以类对象表示,在EF容器下可以直接操作,比如db.UserAccount直接拿到UserAccount实体对象,存储过程,视图也是同样道理,也是可以通过EF上下文容器得到;

技术分享

   2.EF执行Sql语句:

   Note:两种情况,一种是查询sql,一种是非查询sql;都是定义在上下文容器下的Database对象;其中SqlQuery<T>()方法支持泛型;

  技术分享

 技术分享

   3.EF性能优化

   <1>延迟加载与缓存机制

     一般都是ToList()之后才会去执行sql,一般由Where(),Count(),Any()等操作后是生成sql语句,在运行到调用的时候才会去执行sql(或者手动ToList());

    另外在同一个上下文容器下,如果重复查询数据,会有缓存机制来优化,不会再次发送sql去执行,而是从缓存中直接复用;

   <2>不跟踪查询

     当我们查询到数据后,上下文容器会将这些数据的state标识为unchanged来进行管理,如果接下来并需要再对查询到的数据进行保存更改删除等操作,可以用不跟踪查询,让上下文容器不再跟踪查询数据以提高性能;

  技术分享

     4.面向存储过程编程

   技术分享

  

END!

使用EntityFrameWork 5.0面向存储过程(&执行Sql,性能优化)

标签:

原文地址:http://www.cnblogs.com/Francis-YZR/p/4779781.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!