Our IDbProvider infrastructure was necessary in the .NET 1.1 days because the Framework didn't have a good way of abstracting common System.Data interfaces. Since we're focusing on .NET 2.0+ should we consider replacing our home grown IDbProvider with the Framework's DbProviderFactory? I tried writing an adapter between the two but realized it might be easier to just replace our code with more modern constructs...especially since we're working with and entirely codebase (V3). The entry in the sqlMap.config file might look like this:
<provider name="System.Data.SqlClient" usePositionalParameters="false" useParameterPrefixInSql="true" useParameterPrefixInParameter="true" parameterPrefix="@" allowMARS="false" /> By using sane defaults would might be able to get away with just: <provider name="System.Data.SqlClient" /> for the common providers like SqlClient, MySql, Oracle, and Sqlite. Users will still be able to add their own providers via the App.Config using the standard .NET mechanisms.