N層アーキテクチャで削除されないエンティティを処理するためのベストプラクティスのアプローチは何ですか。問題のアーキテクチャには、サービス層とリポジトリ層があります。リポジトリは、データベースに直接アクセスできる唯一のレイヤーです(ORMを介して)。現在、リポジトリレイヤーは主にCRUD操作を処理します。このレイヤーは、特定のステータスに基づいてエンティティの取得を処理する必要がありますか?
私たちのシステムでのステータスの使用について説明しましょう。ステータスを使用してエンティティを削除します。したがって、Userエンティティを削除する代わりに、そのステータスをDeletedに設定します。これで、ユーザーリポジトリはGetメソッドを公開します。パラメータを指定せずにGetを呼び出すと、ステータスに関係なく、システム内のすべてのユーザーが返されますが、アクティブユーザーのみを取得する場合は、サービスレイヤーまたはリポジトリレイヤーで処理するのが最適です。Serviceレイヤーでこれを行う場合は、RepositoryGetメソッドの応答にフィルターを設定する必要があります。リポジトリレイヤーで実行した場合、GetはStatus列挙型を取得するため、Get(Status.Active)を呼び出すことができます。このようなものを処理するための最良の方法は何でしょうか?