I know the news is old, but for those of you that don't know, MS has released an ASP.NET Provider Toolkit.  For those of you that are not familiar with the Provider pattern, it allows you to abstract the “where” and “how” questions for your data layer. 

The Provider pattern tackles the “where does the data live?” question by allowing you to implement your own retrieval mechanism.  In other words, you can have an SQL Server, Access, AD, DB2, etc. providers.   The way you connect to these sources, it's totally up to you.  For those of you familiar with J2EE, it functions similarly like the DataSource interface for JNDI.  The “how do I access the data?” question is answered by the definition of the ProviderBase class (Note: There are other classes between your custom provider and ProviderBase).  To learn more about the Provider pattern, check out this article1, article2 by Rob Howard on MSDN.

Happy coding!