我正在开发一个需要针对SQL Server 2003,2005和2008进行操作的应用程序。我想从使用T-SQL存储过程转换到使用Linq,因为我们目前没有数据库程序员,因此进行任何修复或添加任何功能是一个缓慢,困难的过程。相比之下,在其他项目中使用LinqToSql一件轻而易举的事。
假设表格结构相同,那么针对SQL Server 2008生成的.dbml文件是否可用于以前版本的SQL Server?
由于我们必须支持三种略有不同的数据库模式,因此必须为每个SQL版本生成DataContext以及我们的附加数据层功能,这将是一个显示器。
答案 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?