我有一个 Visual Studio 2012 Web 应用程序(fw。4.5),我尝试 linq 到我的 sql 数据库。我已经在我的项目中添加了一个数据上下文并将其放在根文件夹中。在 datacontext 文件中,我从我的 SQL 2012 expressdatabase 添加了一个名为 GlobalMenu 的表。
我正在尝试使用以下命令使用 linq 访问数据:
DataContextDataContext db = new DataContextDataContext();
var menupages = from p in db.GlobalMenus
select p;
智能感知报告:
Module 'System.Data.Linq' Version=4.0.0.0, Culture=neutral, Publickeytoken=b77a5c561934e089' should be referenced
当我编译并尝试运行我的应用程序时,我得到:
CS0012: The type 'System.Data.Linq.DataContext' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
System.Data.Linq 4.0.0.0 在我的项目中被引用,我已经手动添加
<dependentAssembly>
<assemblyIdentity name="System.Data.Linq" publicKeyToken="b77a5c561934e089"/>
<bindingRedirect oldVersion="1.0.0.0-4.5.0.0" newVersion="4.0.0.0"/>
</dependentAssembly>
在 web.config 的运行时部分。但是错误仍然存在。
另一个问题是,当我将 DataContext 文件放入 App_Code 文件夹时,我得到另一个错误。
Intellisense 报告:无法解析符号“选择”
编译并运行 Web 应用程序后,我在设计器文件的 datacontext 文件中出现运行时错误。
using System.Data.Linq;
using System.Data.Linq.Mapping;
无法解析符号“Linq”。
这个 Web 项目基于标准的“ASP.NET Web 窗体应用程序”,而我正在尝试做的是退出基本编程,所以我看不出我在这里做错了什么。