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!

posted on 2015-09-03 00:34  巴夫巴夫  阅读(387)  评论(0编辑  收藏  举报