2017-11-04 6 views
0

私はこの問題を明確にしているので、この質問を再投稿しています。私はこの問題の論理的な理由は見当たらないので、問題を言います。EFターゲティングスタートアッププロジェクトを使用してコードを最初に展開しますか?

私は3つのプロジェクトが含ま解決策があります(スタートアッププロジェクトとして設定)

DataLayerプロジェクト

BusinessLogicLayerプロジェクト

のWinフォーム

DataLayerをプロジェクトでは、EF 6とOracle Managed Clientが使用されます。私は、enable-migrationおよびadd-migrationがDataLayerプロジェクトを正常にターゲットにしていますが(Package Managerのドロップダウンでデフォルトプロジェクトを設定するか-projectフラグを使用する)、update-databaseは正常に動作しません。私は実際に私のDataLayerプロジェクトを右クリックして、ビジュアルスタジオにスタートアッププロジェクトとして設定するよう伝えなければなりません。

テストから、最初のアプローチでは、デフォルトのプロジェクトとして選択されているものではなく、スタートアッププロジェクトのapp.configを探しています。

私のプロジェクトでは、3層構造のアーキテクチャーを使用して、すべてのデータベース関連の項目とEFをDataLayerプロジェクトに入れておきたいと思います。 DataLayerプロジェクトをスタートアッププロジェクトに変更して、データベースを更新する必要はありません。これは正常な動作ですか、それとも完全に欠けているものがありますか?

サイドノート:VSのコミュニティ版を使用して、新鮮なプロジェクトと同じ動作をする2つの異なるシステムで試しました。

ありがとうございます!

答えて

0

-startupprojectフラグのヒントに基づいて、私は解決策を見つけることができました。あなたが同じで一緒に-projectnameと-startupprojectフラグの両方に合格する必要がスタートアッププロジェクト呼ん例えば:

update-database -project datalayer -startupproject datalayer 
ないプロジェクトの更新-databaseコマンドを使用するためには

関連する問題