LinqToSql - 为每个SQL Server版本生成.dbml是必要的吗?

时间:2012-02-02 16:56:10

标签: linq-to-sql

我正在开发一个需要针对SQL Server 2003,2005和2008进行操作的应用程序。我想从使用T-SQL存储过程转换到使用Linq,因为我们目前没有数据库程序员,因此进行任何修复或添加任何功能是一个缓慢,困难的过程。相比之下,在其他项目中使用LinqToSql一件轻而易举的事。

假设表格结构相同,那么针对SQL Server 2008生成的.dbml文件是否可用于以前版本的SQL Server?

由于我们必须支持三种略有不同的数据库模式,因此必须为每个SQL版本生成DataContext以及我们的附加数据层功能,这将是一个显示器。

1 个答案:

答案 0 :(得分:2)

SQL Server 2005,2008:没问题

SQL Server 2000,2003:服务器端分页问题(.Skip(),. Take()),但除此之外,没有

我正在开发SQL Server 2005并在SQL Server 2008上托管实时系统,没有任何打嗝。

如果您曾经使用它,那么您将遇到SQL Server 2005和LINQ to SQL的.Skip()实现之前的任何问题,因为LINQ to SQL将其转换为T-SQL中的ROW_NUMBER - 这只是一个SQL Server 2005及其后续版本的一部分。

请参阅此相关问题:Which versions of SQL Server does LINQ to SQL support?