我在.NET 2.0中工作,最近在现有的ASP.NET网站项目中升级到.NET 3.5环境(VS2008,VB.NET)。我能够在App Code文件夹中生成Linq-to-SQL类(也称为DataContext?),从活动连接中拖动表并保存它。我们称之为MyDB。当我转到我的页面的代码隐藏文件并尝试声明一个“MyDBDataContext”对象时,它不在intellisense中,表明它不可访问。 我检查了引用,并且必须正确设置,因为我创建了.dbml文件。 我创建了一个新的测试Windows应用程序项目,它的表现完全符合预期,我可以毫无问题地关注this blog。
Web项目是否存在固有的东西,不允许这些自动生成的对象可用? App Code是声明它的正确位置吗?
如果你不能从上面说出来,我是业界新手,对LINQ来说真的很新。
感谢您的帮助。
答案 0 :(得分:3)
尝试展开dbml
文件并打开下面的designer.cs
文件,并确保DataContext类与代码隐藏类位于同一名称空间中。如果没有,请更改命名空间或将其包含在顶部的using Namespace
语句中。
答案 1 :(得分:1)
如果您的dbml位于'/ App_Code /'内的文件夹中,它可能会将该文件夹的名称作为命名空间。例如:'/ App_Code / DAL'将具有名称空间'DAL'。如果是这种情况,请在设计器中为它命名,或者只使用它给出的命名空间。