2009-08-08 36 views

回答

1

究竟丟失了怎麼辦?你在看什麼(或不是)?

特別是,LINQ到SQL的策略數據庫(即如何做分頁等上SQL2000 VS SQL2005等)選擇在基礎的連接,並在特定服務器上運行(所以它時,會自動更新安裝SQL Server 2008)。

代碼生成完全基於dbml,它並不真正關心服務器版本(它只是xml--看一看)。

如果您缺少一些partial方法,我想知道您是否沒有意外地將您的partial class es從dbml生成的方法中分離出來,可能是通過更改命名空間或它們的名稱。

+0

我有兩個不同的數據庫中的同一個表SQL 2000和SQL 2008,這裏是生成的生成的代碼,你會注意到在SQL 2000版本中缺少擴展性方法定義區域 http:// www。 bryanavery.co.uk/file.axd?file=2009%2f8%2fDataClasses1.designer.cs 我已經試過在一個較小的桌子上這樣做,它似乎工作正常,所以這個有什麼問題? – Coppermill 2009-08-10 08:50:19

+0

好的,發現它我的SQL 2000表沒有主鍵,因此沒有創建可擴展性方法定義。 添加主鍵後,擴展性方法定義進入。 – Coppermill 2009-08-10 08:53:51

0

根據Scott Guthrie

的LINQ to SQL支持SQL 2000 一個功能,需要SQL 2005 服務器端分頁支持(其中 你只能做在 數據庫中的分頁) 。它使用SQL 2005 ROW_NUMBER()功能,它僅在 SQL 2005

+0

好的,這聽起來不錯,所以擴展性方法定義去了哪裏? – Coppermill 2009-08-08 07:43:34