OR/M-API とストレージ/概念モデルのマッピング機能 (もちろん Linq と Entity SQL) が気に入ったので、Entity Framework を新しいプロジェクトに適用することを検討しています。
しかし、UI レイヤーとビジネス レイヤーの両方で EF エンティティがデータホルダーとして使用されている場合、UI レイヤーとビジネス レイヤーの間で疎結合を実現するにはどうすればよいでしょうか。エンティティが UI にあるときに ObjectContext にアタッチしたままにしておくと、UI がビジネス レイヤーをバイパスして、データベースに直接接続する可能性があります。エンティティを UI に渡す前に ObjectContext からデタッチすると、変更の追跡が行われないため、ビジネス レイヤーですべての変更を「再生」して、データベースに永続化する必要があります (特に達成が困難です)。親子関係)。ビジネス レイヤーが「オブジェクト ツリーの永続化エンジン」に劣化することは望ましくありませんが、この機能が役立つシナリオもあります。
これは確かに他の OR マッパーにも当てはまりますが、いくつかの代替製品は、より優れたデタッチ/アタッチ メカニズムを備えているようです。