LINQ to SQL不同版本的SQL Server之间的兼容性

ace*_*33s 4 .net sql-server compatibility linq-to-sql

我通过连接到SQL Server 2005数据库创建了我的DataClasses .如果我的应用程序要连接到SQL Server 2000数据库,是否需要重新编译?

SQL Server 2000不支持ROW_NUMBER()函数.我正在使用LINQ to SQL的Skip()和Take()方法来浏览我的记录.LINQ to SQL是否会正确生成正确的SQL查询,尽管它被编译为连接到较新版本的SQL Server?

Mar*_*ell 5

SQL是在运行时基于服务器选择的.IDE生成的代码(C#等)不是特定于版本的.不,您不必做任何事情来重新定位不同的数据库版本.

但是,如果您尝试这样,某些代码将无法对SQL2000.在没有合理的DB支持的情况下,完全不可能(至少方便或者理智地)执行一些skip/take/etc.它可以做的一些事情......它不能做的一些事情.您需要针对该平台集成测试您的应用程序.

  • 或者,您可以停止使用不受支持的SQL Server版本.请参阅http://support.microsoft.com/lifecycle/?p1=2852 (3认同)