您的位置:首页 > 其它

Entity Framework快速入门笔记第2篇—增删改查

2013-04-15 21:20 225 查看
转载链接http://www.cnblogs.com/hanyinglong/archive/2012/11/16/2773733.html

 前言:在上一篇博客中我们大致介绍了一下需要的准备工作,也就是一些自动属性,隐式类型,匿名类等,下面我们通过建立一个简单的例子来学习EF框架,直接进入主题吧:

1. 第一步:创建一个控制台应用程序,起名为EFDemo

2. 第二步:创建一个实体模型

  (1)在EFDemo项目上面右击选择添加—新建项—在已安装的选项中选择数据—ADO.NET实体对象模型,如图所示:

  


3. 与数据库进行连接

  (1) 单击第二步建立的实体数据模型的添加按钮,然后我们选择从数据库生成,如图所示:

  


  (2) 单击下一步,然后如果我们以前没有操作的话在这里将是为空的,然后我们单击新建连接,建立一个数据库的链接,然后选择“是,在连接字符串中包含敏感数据”,如图所示:





  (3) 单击下一步,选择我们要生成实体框架对应的表,试图或者存储过程和函数,因为这里我只使用到了表,所以选择表的选项就行了,如图所示:

  


  (4) 单击完成,这数据库自动帮我们生成了实体对象和实体类,然后可以看到我的解决方案EFDemo下面生成的东西和VS2010不相同,当然大致的使用还是没有变化的,只是有一些细节变了

  


4. 第四步,EF的第一个使用-增加

  (1) 添加如下代码:

  


  (2) 数据库中添加了一条数据,如图所示:

  


  (3) 然后我们可以打开SQL Server2012数据库,单击工具—>SQL Server Profiler,打开工具,然后我们运行代码,跟踪可以看一下给我们生成的代码是什么,如图所示:



  (4) 还可以使用初始化器来实现数据的添加信息,效果和上面的一摸一样,代码如图所示:

  


5. 第五步,EF的第一个使用-修改

  (1) 添加如下代码,如图所示

  


  (2) 数据库中修改语句如图所示

  


  (3) 在SQL Server Profiler中查看生成的SQL语句,如图所示:



6. 第五步,EF的第一个使用-删除

  (1) 添加如下代码,如图所示

  


  (2) 数据库中修改语句如图所示

  


  (3) 在SQL Server Profiler中查看生成的SQL语句,如图所示:



7. 第五步,EF的第一个使用-查询

  (1) 实现查询的第一种方法 foreach循环

  1)实现代码如图所示:

  


  2)结果就不用展示了,在我这里已经实现了

  3)查看SQL Server Profiler中生成的SQL语句,如图所示:

  


(2) 实现查询的第二种方法 Linq和List集合

  1)实现代码如图所示:

  


  2)查看SQL Server Profiler中生成的SQL语句,如图所示:

  


(3) 实现查询的第三种方法 Linq

  1) 实现代码如图所示:   

  


  2)查看SQL Server Profiler中生成的SQL语句和上面的第二个区块中的执行语句一样,这里就不累赘了。

  (4) 实现一个分页的查询

1) 实现代码如图所示:

  


  2) 查看SQL Server Profiler中生成的SQL语句和上面的第二个区块中的执行语句一样

  


  (5) 实现查询的第五种方法 lambda

   1) 实现代码如图所示:

  


  2) 生成的SQL脚本在数据库Profiler里面查看和下面写的基本是一样的。所以这里就不贴出来了,大家可以试一下

  3)lambda表达式查询部分列

  var dataLambda = bjh.HKSJ_USERS.Where(c => c.ID > 100)

.Select(c => new { id = c.ID, Name = c.LoginName });

  foreach (var item in dataLambda)

  {

  Console.WriteLine(item.id + "," + item.Name);

    }

8. EF的执行效率

  (1) 在我们.NET领域,会有很多人认为EF的效率不是很高,那是为什么呢?因为我们看到最后EF还是生成SQL语句来执行的,所以EF本身性能损失也就是对实体集合的修改,然后根据edmx的定义最终生成SQL语句这段时间浪费了CPU而已,而且EF还会自动帮助我们对SQL进行优化,所以EF的选择还是挺不错的,当然不能再非常大的项目使用,那样才会表现出性能的问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: