ADO.NET与ORM的比较(4) EntityFramework实现CRUD2010-11-20 51cto博客 周金桥说明:个人感觉在Java领域大型开发都离不了ORM的身影,所谓的SSH就是 Spring+Struts+Hibernate,除了在学习基础知识的时候被告知可以使用JDBC操 作数据库之外,大量的书籍中都是讲述使用Hibernate这个ORM工具来操作数据。 在.NET中操作数据库的方式有多种,除了最直接的方式就是使用ADO.NET之外, 还可以使用NHibernate这个Hibernate在.NET中的实现ORM,如果你对第三方的 ORM 持怀疑态度,你还可以使用来自微软的实现、根正苗红的Linq或者 EntityFramework。大部分从早期就开始使用.NET开发的程序员可能对ADO.NET有种迷恋,使用 ADO.NET可以充分将我们早期的SQL知识发挥得淋漓尽致,并且出于对性能的考虑 ,有些人对.NET中的ORM 还保持一种观望态度,包括我自己也是这种态度。不过 即使在实际开发中不用,并不代表我们不能去了解和比较这些技术,任何事物的 出现和消亡总有其原因的,我们可以了解它们的优点和长处。所以本人抽出了几 个周末的时间分别用ADO.NET、NHibernate、Linq和EntityFramework来实现对数 据库单表数据的创建、读取、更新和删除操作,也就是所谓的CRUD (C:Create/R:Read/U:Update/D:Delete)。通过实现相同功能的比较,大家自己判断那种方式更适合自己。需要说明的 是,如果在VS2008中使用EntityFramework就需要安装 VS2008SP1。在本篇讲述的ADO.NET Entity Framework(简称Entity Framework或者干脆 称之为EF),在本系列涉及到的几种ORM框架中Entity Framework出现得最晚,在 自然界往往遵循着这样一个规律:出现得越晚的生命力越强。特别是编程语言, 新出现的语言往往都是为了克服当前主流语言的不足而出现的,就想同样是OOP 语言,Java在很多方面就比C++表现优秀,C#又表现得比Java语言一些,这都是 因为新的语言都是在借鉴了现有语言的优点并摒弃它们的不足而产生的。在这一 点上Entity Framework也是如此。一、准备向当前项目中添加ADO.NET Entity Framework类,如下图所示:

点击“添加”之后如下图所示: