While trying to find information on what exceptions a table adapter could throw, I came across this blog post from Scott Guthrie on how to build a data access layer with XSDs in Visual Studio 2005. It’s a nicely-done set of tutorials with plenty of explanations and screenshots. I’m particularly interested in tutorial 8, which describes how custom code can be added (via subclassing or with partial classes). I’m responsible for one application that could probably make great use of this technique.
One of the concerns this technique raises is tight coupling with the database. An older article by Brian Noyes provides a comparison between strongly-typed datasets and custom business objects that covers the issue quite well.