1

わかりました、これを尋ねなければならないのは少しばかげていると思いますが、Entity Framework の内部の仕組みについての私の理解が不足していると思います。

での作業を試してみたいと思いDbContextます。EF 4.2 を使用する既存の ASP.NET MVC アプリケーションがあります。次を使用してエンティティを取得できます。

var context = new MyEntities();

そして、これはうまく機能します。

しかし、で表される同じデータを取得するにはどうすればよいDbContextでしょうか。

4

1 に答える 1

4

したがって、EDMX デザイナーが提供するデフォルトのコード ジェネレーターを使用していると思います。これはObjectContext、重量EntityObjectベースのエンティティを使用します。

DbContext を使用する場合は、次のことを行う必要があります。

  • デフォルトのコード生成をオフにします - プロパティ ウィンドウで EDMX ファイルのカスタム ツールを削除します
  • DbContext T4 ジェネレーターをダウンロードしてインストールします (Visual Studio の拡張機能マネージャーから直接取得できます)。
  • EF デザイナーで、デザイナー画面のコンテキスト メニューから[コード生成項目の追加] を選択します (エンティティではありません)。

これで、EF は 2 つの .tt ファイルをプロジェクトに追加します。1 つは、EDMX ファイルで定義されたすべてのエンティティまたは複合型の新しいクラスの作成を担当し、もう 1 つは、DbContextすべてのエンティティから派生したクラスの作成とセットの公開を担当します。種類

于 2012-06-24T19:57:36.610 に答える