0

私はac#asp.net MVCプロジェクトに取り組んでいます。これは、MVC 3にアップグレードした単純な古いasp.netプロジェクトとして提供されました。通常、プロジェクトにはvb.netを使用しますが、これはac#として渡されました。事業。私のすべてのプロジェクトで、ジェネリックを使用し、ほとんどすべての基本的な状況を処理できるベースリポジトリを作成します。引用するテーブルは、System.Data.Entity名前空間のIDbSet型のメンバー変数で表されます。これは私のvbプロジェクトでは常にうまく機能しています。このプロジェクトでは、型が認識されないことを示すコンパイルエラーが発生し、usingディレクティブまたはアセンブリ参照が欠落していないかどうかを尋ねられます。

次のように名前空間を明示的に指定して変数を定義しようとすると、次のようになります。

protected readonly System.Data.Entity.IDbSet mObjectSet;

それでもエラーが発生します。システムの後にインテリジェンスが表示されます。およびデータの後。しかし、一度エンティティと入力します。何も得られません。クリーニングと再構築、Visual Studioの再起動、コンピューターの再起動を試みました。そして、グーグルに関連する問題は1つもないようです。どんな助けでも大歓迎です!

編集:

System.Data.Entityのバージョン4.0.0.0への参照がすでにあることを述べておかなければなりません。

4

3 に答える 3

6

IDbSetインターフェイスはEntityFramework.dllアセンブリ内にあります (System.Data.Entity.dllアセンブリ内ではありません。注意してください!)。それへの参照を追加するだけです(Referencesプロジェクトツリーのフォルダーを右クリックしAdd referenceて、すでにインストールしている場合はNuGetパッケージマネージャーを選択または使用します)。

于 2012-07-04T04:45:17.987 に答える
0

System.Data.Entity参照があるかどうかを確認します

EDIT:バージョン3.5.0.0または4.0.0.0のいずれかが必要だと思います

于 2012-07-04T04:42:26.510 に答える
0

また、VS 2010 は既定でエンティティ フレームワーク 4.0 (System.data.entity 内) エンティティ モデルを作成し、vs 2012 はエンティティ フレームワーク 5.0 (EntityFramework.dll 内) モデルを作成することにも注意してください。

于 2013-04-10T11:28:02.653 に答える