DAAB тесно связан с более старым способом доступа к базе данных (думаю, DataSets), в то время как современные ORM, такие как Linq, больше касаются строго типизированных объектов, сгенерированных из схемы базы данных.
Я предлагаю использовать DAAB только в том случае, если вам нужен нейтралитет базы данных (IIRC он хорошо подходит для использования с различными типами СУБД), и если вы хотите избежать инструментов, которые в значительной степени зависят от магии времени компиляции.
ORM обычно хороши в доставке ценности в виде простоты использования и поддержки инструмента. Однако они часто сталкиваются с «несоответствием объектно-реляционного импеданса», когда объекты выглядят и ведут себя как стандартные объекты на поверхности, но имеют далеко идущие требования к их использованию из-за того, что они абстрагируют СУРБД, которая не является по-настоящему совместимы с объектно-ориентированными вычислениями. Ваш код должен «знать», как использовать их, в противном случае сталкиваются с ловушками, которые вы не можете поймать во время компиляции.
Лично я бы избегал DAAB. Помимо нескольких ярких примеров (Unity!) EL довольно тяжеловес и требует много работы для понимания и использования должным образом. Его часто был установленный на тросах отбойный молоток, где было бы долото. Большинство ORM довольно чертовски хороши, недостатки в стороне. Linq to Sql является сплошным, и EF4 добирается туда. Существуют также альтернативы с открытым исходным кодом, такие как nHibernate, которые также обеспечивают хорошее значение для кривой обучения.
Если бы я завтра начал новый проект, я бы использовал недавно выпущенный EF4 code-first bits. Я думаю, что это главным образом потому, что я - обжора для наказания; EF4 была болью в моей заднице ...