Sql server 使用DataSet是否比使用LINQtoSQL类更好?

Sql server 使用DataSet是否比使用LINQtoSQL类更好?,sql-server,Sql Server,这是我的第一个项目,我需要使用一些数据库(使用SQLServer2008)。 我有表格,现在我需要决定如何从表格中读取数据。 我定义了dataset并添加了一些查询,这些查询将返回我需要从表中获取的信息 但我也可以使用“LINQtoSQL类”从表中获取信息。 我认为使用数据集和/或使用“LINQ到SQL类”非常简单 我的问题是: 1.使用DataSet或“LINQ到SQL类”有什么好处吗? 2.其中哪一个性能更好? 3.是否有其他理由选择其中一个而不是另一个 1) 使用DataSet或使用“LI

这是我的第一个项目,我需要使用一些数据库(使用SQLServer2008)。 我有表格,现在我需要决定如何从表格中读取数据。 我定义了dataset并添加了一些查询,这些查询将返回我需要从表中获取的信息

但我也可以使用“LINQtoSQL类”从表中获取信息。 我认为使用数据集和/或使用“LINQ到SQL类”非常简单

我的问题是: 1.使用DataSet或“LINQ到SQL类”有什么好处吗? 2.其中哪一个性能更好? 3.是否有其他理由选择其中一个而不是另一个

1) 使用DataSet或使用“LINQtoSQL”有什么好处吗 班级“

我认为,像Linq to SQL这样的ORM的想法是将关系表的行/列结构(在DB中工作得很好)转换成一个.NET对象,其属性比.NET中的
DataSet/DataTable/DataRow/DataRow[“colname”]
结构简单得多。作为一个额外的好处,您还可以在对象及其属性上获得intellisense,并且这些属性是类型安全的,例如,您从对象知道
Age
INT
属性,并且.NET不允许您使用
DataRow[“Age”]
为该Age属性分配字符串,您可以为它分配任何您想要的内容—当您尝试保存时,您将在运行时收到错误。不是很好的编程经验

2) 其中哪一个性能更好

就系统性能而言:由于Linq to SQL是ADO.NET之上的另一层,所以直接ADO.NET(数据集等)的性能通常会稍好一些

就程序员的性能而言
(生产力):使用像Linq到SQL这样的ORM可以轻而易举地赢得——没有可比性

3) 是否有其他理由选择其中一个而不是另一个

我认为这几点已经足够了

  • 能够处理对象
  • 使用对象的属性获取intellisense
  • 对象属性的类型安全性
至少对我来说,这足以让我永远不想回到
DataTable/DataRow
编程。。。。。这是上个世纪的事…:-)