www.9371.net > Entity FrAmEwork

Entity FrAmEwork

Entity Framework主要是把关系型数据库也就是Sqlserver那些转化一下,让程序员在写C#的代码的时候,能用类的方式来操作数据库,而不是用sql字符串.我们可以把它用用C/S的工程当中,也可以把它用到 B/S的工程当中.为了展示EntityFramework的使用方法,我们首先得建立一个例子解决方案.这个解决方案的最基础的普通三层结构,因为数据的访问主要靠EntityFramework来实现,所以数据访问层的实现基本看不出来了,使得整个解决方案好像就是个两层的一样.

问题如上,不知道大家在大数据库的操作是如何做呢(ps:本人不怕写存储过程)都是ORM编程,区别赞NHibernate 是从 Java的Hibernate照搬过来的,而且Entity Framework是微软自行开发,结合了NHibernate中的优点及Linq的强大优势.

原文:http://blogs.msdn.com/dsimmons/archive/2008/05/17/why-use-the-entity-framework.aspx为什么要使用Entity Framework?比起这个问题,作者更愿意回答Entity Framework与其他数据访问技术(ADO.NET SqlClient, Linq to Sql, nHibernate

1.可以这么说..都是ORM框架 不过,EF秉承微软的出品的一贯作风,很难容易上手.另外,EF可以很方便的按照数据库生成实体类,而NH默认没有这个能力,必须用其他代码生成方案.我目前对两者都不是很深入,但是从学习成本上看,

看样子你不是搞数据库编程的,不需要装.Entity Framework主要是把关系型数据库也就是Sqlserver那些转化一下,让程序员在写C#的代码的时候,能用类的方式来操作数据库,而不是用sql字符串.

1.Model First这种EF工作流模式仅仅在实体数据库不存在的情况下使用,使用设计器进行Model 先行开发,开发过程为:1.在EF设计器里创建model2.通过model生成实体Database3.通过model自动生成类classes2.Database First与Model First刚好相反,是仅在数据库存在的情况下使用,进行数据库的先行开发,过程为:1.创建数据库2.在EF设计器里通过已经存在的Database逆向生成工程模型model3.通过model自动生成类classes

比较好用,重要的是MS还在维护EntityFramework,最新的4.2也解决了不少问题,特别是CodeFirst的模式,解决了微软ORM之前依靠配置文件过重的问题

CodeFirst是EntityFramework的一种技术手段,因为传统编程方式都是先建立数据库,然后根据数据库模型为应用程序建模,再进行开发;CodeFirst从字面上理解就是代码先行,先在程序中建立要映射到数据库的实体结构,然后EntityFramework可以根据实

就目前而言,使用EntityFramework还不如使用NHibernateEntity Framework的优势就是拥有更好的LINQ提供程序、文档,并且是由微软所支持的.但NHibernate具有大量Entity Framework 4.0所不具备的特性,像批量读/写、“额外的”延迟、集合过滤器、调整等等.ORM工具的普遍开发速度快但个人基本不用这些ORM工具,对于一个要求高性能、高可靠性、高并发,分布式的web应用程序,自己写ADO.NET最起码能保证数据访问可控.

网站地图

All rights reserved Powered by www.9371.net

copyright ©right 2010-2021。
www.9371.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com