質問: 私は以下のアプリケーション構造を達成しようとしています App.Model - UserModel - OrderModel App.Service - UserService - IUserService App.Entity - DbContext ウェブサイト - WebAPI - サービスを呼び出す ほとんどのASP.NET 5アプリケーションの例では、Webサイトの起動ファイル内のエンティティフレームワークを初期化します。 .AddEntityFrameowrk()..などのように Entityを別のプロジェクトに分割する方法と、Serviceプロジェクトからリポジトリを呼び出す場合はDBContextをどのように起動するのかを知る必要があります(起動ファイルはクラスライブラリでは使用できないため)
回答: 以前のプロジェクトでは、1つのソリューション(または複数のソリューション)で複数のASP.NETプロジェクトを管理するアプローチを採用しました。これにより、WebアプリケーションからEF依存関係を削除し、WebアプリケーションですべてのEFを処理するAPIのみと対話できるようになります これまでは、すべてのモデルを含み、WebアプリケーションとAPIプロジェクトの両方で参照できる専用の「ドメイン」プロジェクトを作成しました。 プロジェクトの構造は次のようになります ドメインプロジェクト:モデルを表すc#クラスのみが含まれます。 「空の」プロジェクトから始めよう API:ウェブAPIが含まれています。 EFを使用してデータベースと対話します。私はあなたのモデルのAPIを個人的に足場にしますが、それは個人的な選択です。今、ASP.NETのコア1.0 RC1では、Web APIのテンプレートが貧弱なので、完全な 'Webアプリケーション'から始めて、すべてのデフォルトのビュー、コントローラ、スクリプトなどを削除します。モデルからAPIコントローラを足場に乗せて Webアプリケーション:主なWebアプリケーションプロジェクト。 「Webアプリケーション」テンプレートから始めますが、コントローラのHttpClientを使用して、データのやりとりにapiを使用します。過去に私はこのタスクを簡単にするために静的な 'apiヘルパークラス'のセットを作成しましたが、それは再び個人的なスタイルの選択です。受信したJSON応答を完全な.netモデルに変換できるように、ドメインプロジェクトを参照します。