2012-04-23 138 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字段。查找和替换是你的朋友。

相关问题