Entity Framework で 3 層設計を視覚化しようとしています。
EF コンテキストの上にリポジトリがある場合、それらは両方ともデータ層のコンポーネントですか?
それとも、リポジトリはデータ層そのものであり、EF は別のものですか?
リポジトリまたはデータ層と通信する BLL を用意し (手がかりがありません..)、これらすべてがどのように適合するかを理解しようとしています。
Entity Framework で 3 層設計を視覚化しようとしています。
EF コンテキストの上にリポジトリがある場合、それらは両方ともデータ層のコンポーネントですか?
それとも、リポジトリはデータ層そのものであり、EF は別のものですか?
リポジトリまたはデータ層と通信する BLL を用意し (手がかりがありません..)、これらすべてがどのように適合するかを理解しようとしています。
EF の上にあるリポジトリをData Layer Abstractionと呼びます。私はそれを別のレイヤーとして視覚化しません。リポジトリはデータ層です。
そうでなければ、EF 自体がデータ層の抽象化であると言い始めることができます。なぜなら、EF は多くのデータベース システムをサポートする ORM であり、Repository および Unit of Work パターン自体の実装だからです。データ レイヤーとしてのデータベースと、EF と呼ばれる ORM の形式でのデータ レイヤーの抽象化、および EF の上にカスタム リポジトリの形式での第 2 レベルの抽象化があると言うことができます。
アプリケーションのデータ ストレージへのアクセスを管理するレイヤーはデータ レイヤーであり、それがリポジトリです。EF とデータベースは、この層の細部にすぎません。