LINQ to SQL支持哪些版本的SQL Server?

7

SQL Server 2000能作为LINQ to SQL的数据库使用吗?

LINQ to SQL是否依赖于特定版本的Microsoft SQL Server?

3个回答

13

是的,LINQ to SQL与SQL Server 2000兼容,但有一个例外:您需要ROW_NUMBER()函数来支持高效的服务器端分页,该函数只在SQL Server 2005/2008中可用。如果没有该函数,则分页函数(如Mehrdad所指出的)会使用传统的Top N策略-随着您浏览数据集,越往后翻页性能越低效,因为从第三页开始您将抛弃大多数选定的记录。


它也在2000版本中可用,但效率较低。LINQ to SQL则使用嵌套的SELECT TOP n语句来处理这种情况。 - Mehrdad Afshari
1
嗨Mehrdad - 很好的提示,但你是对的,如果你浏览数据集,这会非常低效! - Mark Brittingham
但这仍然比在客户端进行分页要好得多。 - Mehrdad Afshari
还有一些额外的差异和调整,例如在SQL 2000上不支持varchar(max)。 - DamienG

4

是的,你可以。

LINQ to SQL会调整生成的查询语句以与2000兼容。


我也是...答案基本上是正确的,所以我给你点赞来消除负评。 - Mark Brittingham

1

从VS 2010开始,L2S对于SQL Server 2000在任何情况下都不支持(尽管一些第三方工具会重新添加支持)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接