As for the objects, we tried to keep the names the same as the corresponding ADO.NET provider objects (except for a few cases where the data source uses OLE DB.
SqlDataSourceItem -> System.Data.SqlClient.SqlCommand
OracleDataSourceItem -> System.Data.OracleClient.OracleCommand
Db2DataSourceItem -> IBM.Data.DB2.DB2Command (technically this one accepts a factory, so you can use whatever provider is optimized for your database type since DB2 has several different versions of their ADO.NET provider and we didn't want to limit you)
VfpDataSourceItem -> System.Data.OleDb.OleDbCommand
AccessDataSourceItem -> System.Data.OleDb.OleDbCommand
Mmm, the good old days. That's where I started my SQL exploits. Still to this day, I think LIMIT instead of TOP.
Don't worry about .NET, though, you'll get the hang of it quickly enough.