web-dev-qa-db-ja.com

Entity FrameworkのDBContext、DBSet <>の参照

最新のEntity Framework 4.0のADO.Net Codefirst機能を使用しようとしています。その一環として、Microsftから Entity Framework CTP 4 をインストールし、 Scottのチュートリアル を使用して最初にモデルを作成しました。チュートリアル内でDBContextDBSet<>が指定されています。このクラスにアクセスするために使用される参照が何であるかを教えてください。

次の参照を使用しましたが、DBContextおよびDBSet<>については何も起こりません

  • System.Data.Entity
  • System.Data.Entity.Design
22
Elangesh

代わりに CTP5 を使用してください。APIにいくつかの変更が加えられた新しいバージョンです。 CTPディレクトリにインストールされているEntityFramework.dllへの参照を追加する必要があります。デフォルトは、32ビットシステムの場合、c:\ Program Files\Microsoft ADO.NET Entity Framework Feature CTP5\Binaries\EntityFramework.dllです。 64ビットシステムでは、Program Files(x86)に配置されます。

14
Ladislav Mrnka

ライブラリパッケージマネージャーをお持ちの場合は使用できます(MVC 3.0で自動的にインストールされます)。

Visual Studio 2010のプロジェクト内から、

Tools > Library Package Manager > Package Manager Console

Visual Studio 2013のプロジェクト内から、

Tools > NuGet Package Manager > Package Manager Console

コンソールでは、PM>プロンプト、タイプ

install-package entityframework

これにより、パッケージがインストールされ、EntityFramework参照がプロジェクトに追加されます。

26
Feckmore

「DbContext」と「DBContext」、および「DbSet」と「DBSet」を使用します。大文字と小文字の区別が問題です。

4

EFをプロジェクトに追加するには、パッケージマネージャーコンソールを使用して、コマンドを発行します。

Install-Package EntityFramework

別の回答に記載されているように、DLLのインストール場所に直接リンクしないでください。

2
Josh M.

MvcMusicStoreチュートリアル(Mvc 3の代わりにMvc 4を使用)に従っていました。

パート4でこれに問題があることがわかりました( http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-4 )。

次の参照を追加するとsing System.Data.Entity;になり、次のエラーが発生しました。

型または名前空間名 'entity'は名前空間 'system.data']に存在しません

@Fecklmoreのソリューションは私のために働いた。

[ツール]> [ライブラリパッケージマネージャー]> [パッケージマネージャーコンソール]に移動して、パッケージマネージャーコンソールを開きます。

次に、次を入力します。Install-Package EntityFramework

これにより、EntityFramework(つまりEF)がプロジェクトにインストールされ、上記のエラーがなくなります。

1
Kyle Garrett

ブログ投稿ではアセンブリについて言及しています。

上記で使用されているDbContextおよびDbSetクラスは、EF4 Code-Firstライブラリの一部として提供されています。 への参照を追加する必要がありますSystem.Data.Entity.CTPAssembly thatが\ Program Files\Microsoft ADO.NET Entity Framework Feature CTP4\Binariesディレクトリにインストールされますこれらのクラスを参照します。また、「NerdDinners」クラスファイルの先頭に「using System.Data.Entity」名前空間ステートメントを追加することもできます。

ただし、新しいCTP5にはコードファーストへの変更がいくつか含まれていると思われるため、代わりにその1つをご覧になることをお勧めします。

1
Yannick Motton

.NET 3.5を使用している場合は、ターゲットフレームワークを.NET 4.0に変更します

0
Arek Bee