Ja, ein Layer für die Persistenz ist angenehm wenn man es hat, und viel arbeit es nach zu rüsten.
Dann wäre es noch sinnvoll die Datenzugriffskomponenten nicht direkt zu verwenden sondern
den Umweg über eine Fassade zu gehen. Das macht den Code auch dann noch leicht pflegbar wenn sich die
Funktionalität der Komponenten ändern oder sogar andere Komponenten genutzt werden müssen. Immer unter der
Vorraussetzung das man auf so proprietären Unfug wie Stored Procedures verzichtet.
Wenn es allerdings um reine Performance geht sind Stored Procedures die erste Wahl...
...du musst dir halt nur die Arbeit auf jedem
SQL-Server von neuem machen.