How does the VBUC convert ADO to ADO.NET?
ADO to ADO.NET
ADO; ADO.NET; System.Data.Common; System.Data.SqlClient
VBUC converts COM ADODB (ADO) into ADO.NET. Does it do this via the inclusion of a .NET wrapper around ADO.NET that behaves like the ADODB classes?
There are two different ways to convert ADO into ADO.NET. The first of them uses the System.Data.SqlClient namespace, which is optimized to work with SQLServer only. This strategy uses the ADO.NET classes directly, however, it involves significant manual changes since there are many functionalities from ADODB that are not present in ADO.NET, such as the ability of recordsets to keep track of the current record.
The second way of converting ADO to ADO.NET uses the System.Data.Common namespace, which can connect to any database engine. It also has Helper Classes for ADO objects such as Recordsets and Transactions, which implement the "missing" functionality using native .NET code. These classes are provided as source code, so the client can modify and distribute them if necessary. For example, under this model the ADO Recordset class is converted to a RecordSetHelper class, which is a .NET class that inherits from the ADO.NET Dataset and implements the missing functionality. This class is provided as C# source code that can be freely modified and distributed by the client.
A very detailed description of database access migration can be found here: http://www.vbtonet.com/legacy-data-access-to-net/