n 層アーキテクチャでは、オブジェクト リレーショナル マッピング (OR/M) コードを配置するのに最適な場所は、データ アクセス層です。たとえば、データベースのクエリと更新を NHibernate などのツールに委任できます。
それでも、NHibernate へのすべての参照をデータ アクセス レイヤー内に保持し、その下または上のレイヤーから依存関係を抽象化しておきたいと思います。そうすれば、別の OR/M ツール (Entity Framework など) または何らかのアプローチ (プレーンなバニラ ストアド プロシージャ呼び出し、モック オブジェクトなど) をスワップまたはプラグインすることができ、コンパイル時エラーやアプリケーション全体の大規模なオーバーホールを引き起こすことはありません。テスト容易性は追加のボーナスです。
OR/M を疎結合にして 1 つのレイヤーに含めるラッパー (つまり、インターフェイスまたは基本クラス) またはアプローチを提案してもらえますか? または、役立つリソースを教えてください。
ありがとう。