2009-10-01 120 views
1

我正在.NET 2.0中工作,最近在現有ASP.NET網站項目上升級到.NET 3.5環境(VS2008,VB.NET)。我能夠在App Code文件夾中生成一個Linq-to-SQL類(也稱爲DataContext?),從活動連接中拖出表並保存它。我們稱之爲MyDB。當我訪問我的頁面的代碼隱藏文件並嘗試聲明「MyDBDataContext」對象時,它不在智能感知中,表明它不可訪問。 我檢查了引用,並且必須正確設置,因爲我創建了.dbml文件。 我做了一個新的測試Windows應用程序項目,它的行爲完全如預期,我可以按照this blog沒有問題。Linq-to-SQL datacontext不生成對象

Web項目是否有固有的東西,不允許這些自動生成的對象可用?應用程序代碼是否適用於聲明?

如果你不能從上面看出來,我對這個行業很陌生,對於LINQ來說真的很新鮮。

感謝您的幫助。

回答

3

嘗試展開dbml文件並打開designer.cs文件,並確保DataContext類與代碼隱藏類位於同一名稱空間中。如果沒有,請更改名稱空間或將其包含在頂部的using Namespace聲明中。

+0

太棒了!謝謝,就是這樣......只需要重新解釋基礎知識。 – Watki02 2009-10-02 17:14:10

1

如果您的dbml位於'/ App_Code /'的文件夾中,它可能會將該文件夾的名稱作爲命名空間。例如:'/ App_Code/DAL'將具有名稱空間'DAL'。如果是這種情況,請在設計器中給它一個命名空間,或者只使用它給出的命名空間。

+0

這個答案有點徹底,並且非常有幫助!謝謝 – Watki02 2009-10-02 17:14:59