非常に大きなDBを持つバックオフィスアプリケーションを開発しています。DB からメモリにすべてをロードするのは合理的ではないため、モデルのプロパティが要求されると、(EF を介して) DB から読み取ります。しかし、UI の多くは、ユーザーに提示されるいくつかの (!) プロパティを持つエンティティの単なるリストです。たとえば、ID、タイトル、名前を表示したいだけです。その後、ユーザーがアイテムを選択していくつかのアクションを実行したい場合、オブジェクト全体が必要になります。これで、メモリに保存されたアイテムのリストができました。一部のプロパティには、大きな textst、画像、またはその他のデータが含まれています。EF はエンティティを操作し、多数の大きなオブジェクトを読み取ると、パフォーマンスが著しく低下します。
私が理解している限り、問題は軽量エンティティを作成し、適切なコンテキストで使用することで解決できます。
初め。各ビューで新しい LightweightEntity を作成することになり、最終的には肥大化したオブジェクト コンテキストで終わるのではないかと心配しています。
2番。モデルが EF をラップするため、さまざまなエンティティにメソッドを提供する必要があります。
三番。ViewModel は互いに通信し、エンティティを渡します。
したがって、私はこれらすべての考慮事項に行き詰まっており、優れたアーキテクチャ設計のアドバイスが必要です。何か案は?