SQL データベースにリンクしようとする Visual Studio 2012 Web アプリケーション (fw. 4.5) があります。プロジェクトにデータ コンテキストを追加し、ルート フォルダーに配置しました。datacontext ファイルに、SQL 2012 Express データベースから 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 の実行時セクション。ただし、エラーはまだあります。
もう 1 つの問題は、DataContext ファイルを App_Code フォルダーに配置すると、別のエラーが発生することです。
Intellisense レポート: シンボル 'Select' を解決できません
Web アプリケーションをコンパイルして実行すると、デザイナー ファイルの datacontext ファイル内でランタイム エラーが発生します。
using System.Data.Linq;
using System.Data.Linq.Mapping;
シンボル 'Linq' を解決できません。
この Web プロジェクトは、標準の「ASP.NET Web フォーム アプリケーション」に基づいており、基本的なプログラミングをやめようとしているので、ここで何が間違っているのかわかりません。