【问题标题】:LinqToSql - Necessary to generate .dbml for each SQL Server version?Linq To Sql - 需要为每个 SQL Server 版本生成 .dbml?
【发布时间】:2012-02-02 16:56:09
【问题描述】:

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

假设表结构相同,针对 SQLServer 2008 生成的 .dbml 文件是否适用于 SQL Server 的早期版本?

由于我们已经必须支持三种略有不同的数据库架构,因此必须为每个 SQL 版本生成一个 DataContext,以及我们的额外数据层功能,这将是一个大问题。

【问题讨论】:

  • 是什么让你不敢尝试?
  • 无权访问那些旧版本的 SQL Server,但我们不能强制客户升级。

标签: linq-to-sql


【解决方案1】:

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?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 1970-01-01
    • 1970-01-01
    • 2011-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多