Sorry for my late response. I was on vacation for the past few weeks.
The biggest reason I am using custom business and data access layers is flexibility and validation. With a table adapter and typed datasets, it's hard to add custom logic to properties like date of birth (smaller than today).
With a typed dataset, you can manually change the generated code. However, this way you can no longer regenerate the code when the model changes. Alternatively, you can derive from your own custom dataset and override methods like ColumnChanged to perform the validation. However, with such a solution, you end up with a lot of code and you loose some of the design time capabilities in Visual Studio.
In the company I work for, most of the business logic we manually add to the business and data access layers is generated anyway, using code generators, Visual Studio's diagramming tools, or coding tools like Code Rush. So, in the end, we don't type that much code anyway.
That said, Table Adapters and typed datasets have their places. I use them every now and then for quick and dirty solutions / demos / proto types.
Everyone is unique, except for me.
Author of ASP.NET 2.0 Instant Results
and Beginning Dreamweaver MX / MX 2004
While typing this post, I was listening to: Shadowplay
by Joy Division
(Track 9 from the album: Heart And Soul (CD 1)
) What's This?