ビジネス ロジックとコア エンティティは緊密に結合されています。
- たとえば、Session と呼ばれるオブジェクトはデータベース エンティティですが、文字どおりの意味では、イベントが記録される実際のセッションです。
- この Session オブジェクトには、[NotMapped] オブジェクトとアンマネージ リソースへのハンドルもあります。
- Session オブジェクトも IDisposable を実装します。
- 私のプロジェクトのエンティティのかなりの部分が上記の特性を持っています。
これは大惨事のように聞こえます。問題は、ここでどのようなアプローチを取るかです。
設計パターンまたはアーキテクチャを指す回答を期待していますが、提案されたソリューションの名前だけでなく、ポイントを説明するために非常に短いコード例を含めてください.
これまで考えてきたことは、各エンティティからビジネス オブジェクトとして派生させ、コード生成を使用してある型から別の型に変換することです。これはクライアント/サーバー アプリケーションであるため、派生したものではありますが、デスクトップ アプリで設定されたエンティティ関係をそのまま使用できるようにしたいと考えています。
持続可能な方法でこれを達成する方法がわからない。