LinqToSql - 必须为每个SQL Server版本生成.dbml?

问题描述:

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

如果针对SQL Server 2008的早期版本使用SQL Server 2008,生成的.dbml文件是否可以正常工作(假设表结构相同?

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

+0

什么让你从只是想? – Pleun 2012-02-02 21:36:52

+0

不能访问这些旧版本的SQL Server,但我们不能强制客户升级。 – user1173678 2012-02-02 22:15:51

SQL Server 2005,2008:没有问题

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

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

如果您曾经使用过SQL Server 2005和LINQ to SQL的实现,那么您将会遇到任何问题,因为LINQ to SQL将它转换为T-SQL中的ROW_NUMBER - 这仅仅是SQL Server 2005的一部分和以后。

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