2012-04-23 78 views
1

我正在從數據庫使用LINQ to SQL類。當我嘗試創建一個新的實例崩潰:無法加載類型'DataContext'

DataLayerDataContext dataLayerDataContext = new DataLayerDataContext(); 

堆棧跟蹤:

[HttpException (0x80004005): Could not load type 'DataLayerDataContext'.] 
System.Web.Compilation.BuildManager.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +8941051 
System.Web.UI.WebControls.LinqDataSourceView.get_ContextType() +107 

可能是什麼問題呢?

+0

您是否添加了DataLayerDataContext的引用您的項目 – Prabhavith 2012-04-23 10:05:34

+0

@Prabhavith:我把DataContext文件放在一個單獨的類庫中,並在其中添加了一個對我的項目的引用。 – 2012-04-23 10:08:59

+0

是否使用using library_name; – Prabhavith 2012-04-23 10:10:44

回答

0

如果您將DataContext與您的工作項目分開,那麼您需要將connection strings添加到DataContext project到數據庫的工作項目的配置文件以及它的工作。

+0

如何找到DataContext項目的連接字符串? – 2012-04-23 10:54:44

+0

連接字符串將存儲在項目的'.config'文件中,例如。如果你正在使用web項目,然後看看'web.config'或'app.config' for windows/console應用程序的 – Flowerking 2012-04-23 11:06:41

+0

app.config是空的。 – 2012-04-23 11:24:07

0

您也可以通過在連接字符串中到DataContext構造函數如下:使用(DataLayerDataContext dataLayerDataContext =新DataLayerDataContext( 「的ConnectionString」)){ 使用 這裏DataLayerDataContext

。 }

0

我將dbml移動到單獨的類庫(很多人從視圖中提取模型的一個步驟)後,最近出現了此問題。在我的情況下,所有的LinqDataSource都停止工作。

我的解決方案是將完整的名稱空間添加到LinqDataSource中的ContextTypeName字段。查找和替換是你的朋友。

相關問題