Linq to sql 当ADO.NET工作得比这更好时,为什么要使用LINQ to SQL

Linq to sql 当ADO.NET工作得比这更好时,为什么要使用LINQ to SQL,linq-to-sql,ado.net,Linq To Sql,Ado.net,当ADO.NET为我们提供更好的性能时,我们为什么要使用LINQtoSQL? 签出此项,显示比较报告 我在寻找应用程序的速度/性能,而不是部署的简易性。在我将LINQ留给SQL并返回到旧的ADO.NET数据访问层(哪个用户存储过程)之前,还有什么需要考虑的吗?您多长时间执行一次2000个相同的查询?这是一个纯粹的合成测试,没有显示任何东西 一般来说,在一个问题上投入更多的硬件(在SQL Server机器上添加更廉价的RAM)要比花费数千美元和数百个工时试图消除所有问题要容易得多(而且成本效益高)

当ADO.NET为我们提供更好的性能时,我们为什么要使用LINQtoSQL? 签出此项,显示比较报告


我在寻找应用程序的速度/性能,而不是部署的简易性。在我将LINQ留给SQL并返回到旧的ADO.NET数据访问层(哪个用户存储过程)之前,还有什么需要考虑的吗?

您多长时间执行一次2000个相同的查询?这是一个纯粹的合成测试,没有显示任何东西

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

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

诚然,有时需要借助普通的ADO.NET来提高性能,但这只能在探查器出现问题的情况下进行。

IMO ORM非常适合非分布式项目。有时,您的客户机使用共享服务器或其他数据库服务器,这些服务器甚至位于另一个国家/地区。在本例中,我使用的是SP。但是ORM还有另一个好处。例如,在SP中更改表结构时,您必须更改所有依赖的SP。但在ORM中,经过几次更改后,一切都正常。

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

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


您选择如何实现数据层应该完全取决于您的需求,并且该问题的答案总是根据具体情况而定。不能说ORMs总是优于ADO.NET,反之亦然。

@Anton:对不起,如果使用的词是错误的话。我的意思是说,它工作得不快