私はEntityFrameworkを初めて使用し、コンステレーションEF、LINQ、POCO、およびリポジトリについていくつかのポイントを取得したいと思います。
EFとPOCOを使用してデータベースにアクセスするリポジトリを備えた実用的なソリューションがあります。コンテキストを介してLINQですべてのクエリを実行しています。データベース/テーブルがすでに存在するため、アプリケーションの開始時にロードされるマッピングクラスにマッピングを追加しました。
特定の会社について、従業員が子供のために購入したおもちゃの量を計算する必要があるビジネスケースがある場合。
リポジトリ/リポジトリをどのように構築しますか?
A:1つのリポジトリで会社のすべての従業員を呼び出してから、サービスレイヤーで、子供などのすべての従業員に対して別のリポジトリを再度呼び出しますか?
B:すべての従業員、子供、おもちゃを持った会社を返す1つのリポジトリに電話しますか?
Aは私にははるかにクリーンに思え、リポジトリをより頻繁に再利用できます。しかし、Bの継ぎ目はより効率的ですが、それほど再利用可能ではありません。リポジトリとクエリが少なくなると、ますます大きくなります。
これはほんの小さな例です...しかし、はるかに大きなビジネスケースがあります。この場合の最良のアーキテクチャアプローチは何ですか?
class Company
{
List<Employee> employees;
}
class Employee
{
List<Child> children;
}
class Child
{
List<Toy> toys;
}