SQL Server 2008与2005 Linq集成

时间:2020-03-05 18:40:33  来源:igfitidea点击:

Linq To SQL或者Entity框架都可以与SQL Server 2005很好地集成。

SQL Server 2008规格表承诺了更好的集成,但是我看不到。

在与2008服务器通信时可以执行Linq明智的操作,而与SQL Server 2005通话时可以进行Linq明智的操作的一些示例是什么?

解决方案

回答

它完全支持新的数据类型。哈哈。除此之外,除了优化查询的可能性(如merge命令等)之外,我们还得到了我。

回答

我猜想其中大部分都必须在服务器上完成。他们可能针对新类型之外的未知差异优化了查询执行。

回答

存在对SQL 2005错误解释的联接集进行分页的问题。

var orders = (
from c in Customers
from o in c.Orders
select new {c, o}
).Skip(10).Take(10).ToList();

LINQ针对联接集生成ROW_Number。 SQL2005从该代码生成了一个错误的计划。这是讨论的链接。

编辑2:我想澄清一下,我不知道SQL2008解决了这个问题。我只是充满希望。

回答

该营销链接声称

"使用LINQ to SQL直接针对Microsoft SQL Server数据库编写数据访问代码。"

这基本上是不正确的。

Linq To SQL是将查询理解转换为表达式树,再转换为SQL,由查询优化器优化,然后针对SQL Server数据库运行。 "直接" feh。

回答

除非LINQ公开新的MERGE语句,否则不会。

引擎之间几乎没有有效的区别,尤其是从ORM /客户端的角度来看