独自のカスタマイズされた DAL を作成するためにどれだけの作業を行うかによって異なります。ADO.NET と独自の実装を使用することを常にお勧めしますが、これには、その維持と最適化、同時実行、キャッシュ、BO、DAL、およびデータベースのマッピングなどの複雑なケースの処理も含まれます。
ビジネスの価値と機能にもっと集中したい場合は、Entity Framework (現在 4.3 がリリースされ、5.0 がリリースされる予定) を使用することを決定するかもしれません。利点は、慎重にテストされ、同時実行、キャッシュ、およびマッピングのソリューションが既に含まれている DAL を使用することです。
しかし、その上にリポジトリ パターンと作業単位パターンを使用して、Entity Framework の使用を他のレイヤーから抽象化することはお勧めできません。その後、他のレイヤーに影響を与えることなく、基盤となるテクノロジを後で完全に変更する可能性があります (たとえば、パフォーマンスが本来あるべきほど良くないことがわかった場合は、EF を独自の ADO.NET 実装に置き換えることができます)。
これは、構築する必要があるアプリケーションのタイプとそのパフォーマンス要件によって異なります。EF を使用すると、作業が大幅に削減され、はるかに迅速に結果が得られます。また、開発チームの能力にも依存します。プロジェクトに取り組んでいる上級開発者とアーキテクトしかいない場合は、独自の DAL を簡単に作成できます。しかし、初心者にとって、最適化された優れた堅牢な DAL を実装することは非常に困難です。
それが役立つことを願っています!