Пытаться создать идеальный, лучший, совершенный DAL кажется немного сумасшедшим - существует так много разных сценариев приложений с различными и конкурирующими требованиями и потребностями, что я не верю, что кто-то может придумать THE ONE Ultimate DAL.
Вам необходимо проверить некоторые из существующих инструментов ORM, узнать один или два из них, узнать их сильные стороны и, возможно, недостатки, а затем иметь возможность выбрать лучший для каждой конкретной ситуации. Я сомневаюсь, что всегда будет так же .....
SubSonic отлично подходит для небольших, шустрых проектов - как и Linq-to-SQL, если вы используете SQL Server в качестве бэкэнда. Если вам нужна большая корпоративная мощность, вам следует взглянуть на NHibernate, ADO.NET Entity Framework или другие более крупные, более способные игроки (которые слишком сложны и плохо подходят для небольшого, простого сценария).
Я не думаю, что есть THE идеальный способ создания DAL - узнайте, что доступно, узнайте, как выбрать тот, который лучше всего соответствует вашим текущим потребностям, и не изобретайте себя заново - используйте то, что доступно там!
Марк