repositoryを作成しました。repositoryだけでは複雑な要件を満たすことはできません。今回はクラスごとの異なるデータ操作をしたいときに、Repositoryの実装方法を紹介したいと思います。78.0.3904.70前回のおさらい前回の改修を終え、プロジェクトフォルダの構成はおそらく下記の図のようになっていると思います。ISupplierRepository)はすべて削除済みです。Expressionを使っています。Repositoryの機能だけではこの要件を満たせません。なると、当然このままでは取得条件が複雑になってくるデータ操作のロジックはControllerで書くことになり、リクエストを制御する役割であるControllerにビジネスロジックとデータ操作をさせることは関心の分離にも違反します。ControllerとRepositoryの両方は同じ人で実装する必要があり、複数人同時開発の効率も良くありません。Repositoryの構成になるように改修します。個別機能のメソッドのみ定義します。Repositoryを継承し、個別処理は実装します。Repositoryのインターフェースから個別Repositoryのインターフェースに差し替えます。id取得のメソッドを修正します。_supplierRepository.ExistAsync(suppliers.SupplierId);}依存性注入Startup.csに個別Repositoryの依存性注入を行います。省略}まとめこのシリーズを最初から読んでいる人は今回のコンテンツで混乱するかもしれません。Repositoryを作る今度はまた個別Repositoryを作る朝令暮改はいい加減にしろっと思うかもしれません。このような構成になったには理由がありまして、徐々にコード改修を通じて、階層化アーキテクチャを本質的に理解を深めるためです。最初から完成版のコードを出してもいいですが、それでは途中経過がわからず、なんとなくの理解になってしまう恐れがあるからです。UI層、データアクセス層、ビジネスロジック層に分割していきたいと思います。今回作成したソースコードです。