【问题标题】:SQL Server 2008 vs 2005 Linq integrationSQL Server 2008 与 2005 Linq 集成
【发布时间】:2008-08-18 23:50:25
【问题描述】:

Linq To SQL 或实体框架都很好地与 SQL Server 2005 集成。

SQL Server 2008 规格表承诺更好的集成 - 但我看不到。

有哪些示例可以说明在与 2008 服务器通信时可以执行 Linq 方式而在与 SQL Server 2005 通信时无法执行的操作?

【问题讨论】:

    标签: linq sql-server-2005 sql-server-2008


    【解决方案1】:

    这个marketing link声称

    “使用 LINQ to SQL 直接针对 Microsoft SQL Server 数据库编写数据访问代码。”

    这基本上是不真实的。

    Linq To SQL 是将查询理解翻译成表达式树,翻译成 SQL,由查询优化器优化,然后针对 SQL Server 数据库运行。 “直接”feh。

    【讨论】:

      【解决方案2】:

      存在对 SQL 2005 错误解释的连接集进行分页的问题。

      var orders = (
      from c in Customers
      from o in c.Orders
      select new {c, o}
      ).Skip(10).Take(10).ToList();
      

      LINQ 针对连接集生成一个 ROW_Number。 SQL2005 从该代码生成一个错误的计划。这是discussion的链接。

      Edit#2:我想澄清一下,我不知道 SQL2008 解决了这个问题。我只是充满希望。

      【讨论】:

      • 你能详细说明“坏计划”是什么意思吗?
      【解决方案3】:

      它完全支持新的数据类型。哈哈。除了优化查询的可能性(如合并命令等)之外,你得到了我。

      【讨论】:

        【解决方案4】:

        无论如何,我猜大部分都必须在服务器上完成。他们可能优化了查询执行,因为我不知道除了新类型之外的差异。

        【讨论】:

          【解决方案5】:

          除非 LINQ 公开新的 MERGE 语句,否则不会。

          引擎之间几乎没有有效的区别,尤其是从 ORM/客户端的角度来看

          【讨论】:

            猜你喜欢
            • 2010-12-27
            • 1970-01-01
            • 1970-01-01
            • 2010-10-18
            • 1970-01-01
            • 2013-10-23
            • 2011-04-17
            • 2010-10-25
            • 1970-01-01
            相关资源
            最近更新 更多