entityframework优缺点 什么是EntityFramework?
什么是EntityFramework?
Entity Framework主要是把关系型数据库也就是Sqlserver那些转化一下,让程序员在写C#的代码的时候,能用类的方式来操作数据库,而不是用sql字符串。我们可以把它用用C/S的工程当中,也可以把它用到 B/S的工程当中。为了展示EntityFramework的使用方法,我们首先得建立一个例子解决方案。这个解决方案的最基础的普通三层结构,因为数据的访问主要靠EntityFramework来实现,所以数据访问层的实现基本看不出来了,使得整个解决方案好像就是个两层的一样。
如何使用entityframework?
先简单说一下如何创建环境。如果你对这些步骤了如指掌,请直接跳过。1. 在Visual Studio中创建一个示例工程。最简单的莫过于ConsoleApplication2. 在工程中添加ADO.NET Entity Data Model。 选择其中的两个表作为示例,表Teacher和表Course 添加edmx之后,Visual Studio为自动帮我们生成/添加所有需要的文件和内容,然后我们就可以开始在代码中操作数据库了。来看看在EF中几种不同的数据加载方式。惰性加载(Lazy Loading)默认情况下,EF会使用惰性加载方式加载数据,即ctx.Configuration.LazyLoadingEnabled = true 在下面的代码中,外层循环会执行一次查询,并将返回的结果存放在变量q中。而内层循环会在每一次循环过程中独立进行查询,所以,如果数据库表Teacher中有100条记录而Course有1000条记录,那么整个过程将产生1001次查询。using (var ctx = new SchoolDBEntities()){var q = from t in ctx.Teachersselect tforeach (var teacher in q){Console.WriteLine("Teacher : {0}", teacher.TeacherName)Console.WriteLine("Respective Courses...")foreach (var course in teacher.Courses){Console.WriteLine("Course name : {0}", course.CourseName)}Console.WriteLine()Console.ReadKey()}}
EntityFramework于ADO.Net相比有什么优势?
就目前而言,使用EntityFramework还不如使用NHibernateEntityFramework的优势就是拥有更好的LINQ提供程序、文档,并且是由微软所支持的。但NHibernate具有大量EntityFramework4.0所不具备的特性,像批量读/写、“额外的”延迟、集合过滤器、调整等等。ORM工具的普遍开发速度快但个人基本不用这些ORM工具,对于一个要求高性能、高可靠性、高并发,分布式的web应用程序,自己写ADO.NET最起码能保证数据访问可控。
选entityframework还是NHibernate?
都是ORM编程,区别赞NHibernate 是从 Java的Hibernate照搬过来的,而且Entity Framework是微软自行开发,结合了NHibernate中的优点及Linq的强大优势。Entity Framework 4.1已经进行了非常大的改善,4.3更是在性能上做了大的改过。5.0beta版也已经发布。可以看得出来微软对Entity Framework 的重视。中型项目用Entity Framework还是很不错的选择,但也要结合使用sql ,存储过程,因为有些复杂业务用Linq to entity来实现比较麻烦,这时候就中以利用sql的轻便来实现。所以要相辅相成的使用。
entityframework优缺点 entity framework教程 entityframework面试题
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。