2016-04-05 4 views
0

EF-7とMVC-6を使用するシードプロジェクトの作業を開始しました。このプロジェクトには、IDテーブルの初期データベース移行が含まれています。これはすべてうまくいくようです。EF7プロジェクトへのテーブルのインポート

既存のデータベースをプロジェクトに持ち込みたいので、最初にテーブルをスクリプト化してデータベースに取り込み、モデルクラスを使用しようとしたときにプロジェクトに足場を入れてみましょう。

これは正しいアプローチですか、そうであれば、モデルクラスを足場に利用できるようにするにはどうすればよいですか?

これが正しいアプローチでない場合、プロジェクト内で元のデータベースを使用できるようにするにはどうすればよいですか?

答えて

2

コードファーストテーブルと既存のテーブルを同じコンテキストで同時に操作することはできません。どちらのEFもすべてのエンティティに責任があります。既存のデータベースで作業する必要がある場合は、その目的のために別のコンテキストを作成する必要があります。

+0

私は既存のテーブルの2番目のコンテキストを追加し、ビューを含むテーブルの1つに足場を作成しました。ビューのインデックスページを読み込もうとすると、次のエラーが表示されます。InvalidOperationException: 'MyApp.Controllers.AssetsController'をアクティブにしようとしているときに、 'MyApp.Models.MyApp_DBContext'型のサービスを解決できません。 – Spionred

+0

依存性注入の問題のように聞こえます。それは本当にここに何も関係がありません。おそらく、DIコンテナに 'MyApp_DBContext'の解決方法を知るために必要な設定を追加するのを忘れていたかもしれません。 –

+0

ありがとうございます。私は、startup.csのConfigureServicesに以下を追加しました。services.AddEntityFramework() .AddSqlServer() .AddDbContext (オプション=> options.UseSqlServer(Configuration ["Data:DefaultConnection:ConnectionString"])); – Spionred

関連する問題