(個別Repositoryで独自処理を実装する)までの内容は、Repositoryパターンを用いて、Controllerからデータアクセスのオブジェクトを分離することまで出来ました。今回は新しくプロジェクト(Model層)を作成して、その中にデータアクセスのオブジェクトをまとめる作業を行います。することで、Web層とModel層の責務がハッキリ分離することができます。新規プロジェクトの作成ソリューションフォルダ配下にて以下のdotnetコマンドを実行してください。ds.NorthwindApp.Modelds.NorthwindApp.Modelのフォルダ配下に移動して、以下のコマンドを実行します。再度ソリューションフォルダ配下に移動して、以下のコマンドを実行します。ds.NorthwindApp.Model/ds.NorthwindApp.Model.csprojデータアクセスのオブジェクトの移動WebプロジェクトのModels配下のクラスをすべてをModelプロジェクトに移動します。名前空間の置き換え名前空間を書きどおりに置き換えを行います。ds.NorthwindApp.Model最後にプロジェクトをビルドして、動作確認を行います。まとめ通常、開発案件の初期段階でアーキテクチャ設計がすでに決まっています。このように途中でプロジェクトを作成して、レイヤー分けをすることはあんまりしません。プロジェクトは必ずしも分ける必要はありません。システム規模が小さければ、フォルダをきちんと分ければそれだけでも十分です。規模が少しでも大きくなるとオブジェクトの責務ごとに別々のプロジェクトに分けるようが構造がわかりやすいし、メンテナンスもしやすいです。今回作成したソースコードです。