Entity Framework快速入门笔记第2篇—增删改查
前言:在上一篇博客中我们大致介绍了一下需要的准备工作,也就是一些自动属性,隐式类型,匿名类等,下面我们通过建立一个简单的例子来学习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的选择还是挺不错的,当然不能再非常大的项目使用,那样才会表现出性能的问题。
完全是为了学习技术,欢迎大家多多交流!!谢谢拉!
初心商城:初心商城
作者:韩迎龙(Kencery) MVC/.NET群:159227188如果您认为这篇文章还不错或者有所收获,您可以通过右边的“打赏”功能 打赏一杯咖啡,本页版权归作者和博客园所有,欢迎转载,但未经作者同意必须保留此段声明, 且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利