22

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

私は次の参照を使用している

しかし何もDBContextDBSet<>

  • ために起こりませんSystem.Data.Entity
  • System.Data.Entity.Design

答えて

14

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

+0

64ビットの.Net版をサポートしますか教えてください。 – Elangesh

+0

すでに64ビットバージョンをサポートしています。 –

+2

これ以上です。今度はあなただけのnuget Install-Moduleエンティティフレームワークを使用します –

1

ブログ投稿には、アセンブリに言及しています:

The DbContext and DbSet classes used above are provided as part of the EF4 Code-First library. You’ll need to add a reference to the System.Data.Entity.CTP assembly that is installed into the \Program Files\Microsoft ADO.NET Entity Framework Feature CTP4\Binaries directory to reference these classes. You’ll also want to add a “using System.Data.Entity” namespace statement at the top of your “NerdDinners” class file.

しかし、私は新しいCTP5にはcodefirstにいくつかの変更が加えられていると思いますので、代わりにそのコードを見てみることをお勧めします。

+0

64ビット版のサポートがありますか。 – Elangesh

+0

CTPに64ビットアセンブリがあるかどうかわかりません。そうでない場合、プロジェクトはx86をターゲットにする必要があります。 –

+0

@エラン:それはどのCPU用に作られていますので、あなたは良いです:-) –

4

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

+1

トーマス、私はちょうどコードをコピーし、これを貼り付けて指定していない。私は元のチュートリアルからコピーされたので、私のコードで正しい場合を使用しました。しかし、キーワードが間違っていることを知らせてくれてありがとう。乾杯。 – Elangesh

+0

thats it ...私は間違いを犯した。 –

26

ライブラリパッケージマネージャを使用することができます(MVC 3.0で自動的にインストールされます)。 Visual Studioの2010年には、プロジェクト内から

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

Tools > Library Package Manager > Package Manager Console 

に行き、PM>プロンプトの後に、コンソールで

Tools > NuGet Package Manager > Package Manager Console 

に行きます

install-package entityframework 

これでパッケージがインストールされ、EntityFrあなたのプロジェクトへの熟慮の参照。

+0

インストールパッケージ:パッケージ 'entityframework'At行を見つけることができません:1 char:1 ...何らかの理由がありますか? – brntsllvn

+0

NuGet-Solutionパッケージマネージャーを見ると、EntityFrameworkがインストールされていることがわかります(v6.0.2)...しかし、DbContextはまだ見つかりませんでした。どんな助けも素晴らしいだろう。 – brntsllvn

0

は、.NET 3.5を使用している場合は、あなたのターゲットフレームワークは、パッケージマネージャコンソールを使用してプロジェクトにEFを追加して、コマンドを発行するには、.NET 4.0

+0

本当に@Arek Bee、私は使用しています。ネット4.0ただし、いくつかの理由のためにエンティティのための参照はありません。後でCTP5をインストールした後、すべてが正常だった – Elangesh

2

に変更します。

Install-Package EntityFramework 

あなたは「shouldn別の答えに記載されているように、DLLのインストールされた場所に直接リンクします。

+1

魅力のように働いて、ありがとう – Sandy

1

私はMvcMusicStoreチュートリアル(Mvc 3ではなくMvc 4を使用)に従っていました。

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

System.Dataを使用して以下の参照を追加しました。エンティティ;、私は次のエラーを得た:

型または名前空間名「エンティティが」名前空間に存在しない「system.data

をFecklmoreのソリューション@私のために働きました。

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

続いて、次を入力: インストール・パッケージEntityFrameworkを

これはあなたのプロジェクトにEntityFramework(すなわちEF)をインストールし、上記のエラーを排除します。

関連する問題