2009-12-23 43 views
0

为什么我们在ADO.NET提供更好的性能时使用LINQtoSQL? 结算这link它显示比较报告为什么我应该使用LINQ to SQL当ADO.NET比这更好的工作

我正在寻找我的应用程序的速度/性能,而不是部署的简易性。在离开LINQ to SQL并返回到我的OLD ADO.NET DataAcces Layer之前,还有什么应该考虑的吗?哪些用户存储过程?

回答

1

你多久执行一次2000个相同的查询?这是一个纯粹的综合测试,它不显示任何东西。

一般来说,在一个问题上投入更多硬件(为SQL Server计算机添加更多廉价的RAM)要比花费数千美元和数百个工时试图更容易(并且成本有效)消除

var dataReader = command.ExecuteReader(); 
while(dataReader.Read()) 
    var id = dataReader.GetInt32("ID"); 

授予的所有错误,有时人们需要求助于普通ADO.NET来提高性能,但这项工作应仅在探查说明了一个问题。

+0

@Shyju:定义“烂”。 – 2009-12-23 06:44:22

+0

@Anton:对不起,如果使用的话是错误的。我的意思是说它运行速度不快 – Shyju 2009-12-23 07:08:01

0

IMO ORM对于未分配的项目非常有用。有时您的客户端使用共享服务器或甚至在另一个国家/地区的不同数据库服务器。在这种情况下,我正在使用SP。但是ORM还有另一个好处。例如,当您更改表格结构时,在SP中,您必须更改所有从属SP。但是在ORM中,经过一些更改后一切都可以。

1

与ADO.NET相比,ORM最大的优势之一是初始开发速度(不是应用程序的速度)。使用ORM与使用ADO.NET进行维护相比,维护要简单得多。 ORM提供了许多需要用ADO.NET手工编写的功能。 Linq不适用于ADO.NET,Linq目前需要一个ORM。

由于性能原因,大多数ORM允许您在必要时下载到SQL/ADO.NET。

你如何选择实现你的数据层应该完全取决于你的要求,而且这个问题的答案总是情境化的。不可能说ORM总是优于ADO.NET,反之亦然。

相关问题