Entity Framework和DataSet,Linq to SQL有什么区别

简介:

EF只是ADO.NET中的一个最新的附属物。那么它对已经存在的代码,比如使用DataSet和DataReader或者Linq to SQL有什么影响呢? 
你能一直用这些技术写新代码吗?

Dataset和Datareader不会被丢弃。你仍然能使用这些技术方法。EF提供了一个完全不同的方法获取和处理数据。你不需要整合这两种技术,比如,使用EF获取数据,然后把数据放入DS中。 
这样做会没有必要,你应该只选择一种技术。你学了EF后就会知道,它提供了完全不同的样式访问数据,你可能会发现EF可能使用某些项目,但不适应其他的。 
DataSet

EF使用以EntityDataReader的形式使用DataReader,它继承了同样的DbDataReader作为SqlDataReader。这也是EntityClient查询所返回的。事实上,你会发现用EntityClient代码查询EDM和用ADO.NET查询数据库很相似。都用到了connections,commands,command参数,并且返回一个DbDataReader。

Linq To SQL和EF表面上很相似,都是使用数据库模型提供Linq查询。 
一个经常被问到的问题是,为什么微软创建了2个相似的技术。LTS是从Linq项目中演化而来的。EF则是数据可编程性团队的一个项目,它聚焦在Entity SQL语言。现在,每个技术已经出现这么久了,也已经展示给微软的其他团队了。很明显,微软又2个有些的新技术,各自瞄准不同的应用场合。 
EF团队用Entity配合Linq来工作,这就是很多开发者混淆了,因为LTS和LTE太像了,并且在2008年的11月,这个团队宣布,因为这个技术瞄准了相同的问题,以后他们会专注于开发Entity Framework。Entity Framework支持了多个数据库,通过Entity数据模型可以结合了许多微软即将推出的新技术。然而,他们将持续维护LINQtoSQL。这对许多已经投资于LINQtoSQL上的开发者而言不是好事情。微软承诺维护Linq to SQL,微软也保证提供一个移植路径,将Linq to sql移植到Entity Framework并且微软在将来编程指导中,推荐使用EntityFramework

















本文转自cnn23711151CTO博客,原文链接:http://blog.51cto.com/cnn237111/584023 ,如需转载请自行联系原作者









相关文章
|
6月前
|
SQL 分布式计算 大数据
【大数据技术Hadoop+Spark】Spark SQL、DataFrame、Dataset的讲解及操作演示(图文解释)
【大数据技术Hadoop+Spark】Spark SQL、DataFrame、Dataset的讲解及操作演示(图文解释)
155 0
|
22天前
|
SQL 分布式计算 大数据
大数据-94 Spark 集群 SQL DataFrame & DataSet & RDD 创建与相互转换 SparkSQL
大数据-94 Spark 集群 SQL DataFrame & DataSet & RDD 创建与相互转换 SparkSQL
29 0
|
4月前
|
SQL 存储 NoSQL
. NoSQL和SQL的区别、使用场景与选型比较
【7月更文挑战第30天】. NoSQL和SQL的区别、使用场景与选型比较
69 15
|
3月前
|
SQL 数据库
|
3月前
|
SQL 数据挖掘
|
3月前
|
SQL Java 数据库连接
|
5月前
|
分布式计算 DataWorks 大数据
MaxCompute产品使用合集之odps.sql.mapper.split.size和odps.stage.mapper.split.size这两个参数的区别是什么
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
5月前
|
SQL Java 数据库连接
【MyBatis】MyBatis操作数据库(二):动态SQL、#{}与${}的区别
【MyBatis】MyBatis操作数据库(二):动态SQL、#{}与${}的区别
57 0
|
6月前
|
SQL 存储 数据处理
实时计算 Flink版产品使用合集之flink-connector-mysql-cdc 和 flink-sql-connector-mysql-cdc有什么区别
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
336 1
|
5月前
|
SQL 存储 开发框架
【Entity Framework】你必须了解的之自定义SQL查询
【Entity Framework】你必须了解的之自定义SQL查询
85 0