Overview of the .NET Core provider class library

The HCL® OneDB® .NET Core Provider supports all of the .NET public classes and base classes that are needed to access the HCL OneDB database.

In the .NET Framework, access to a data source and its data is handled by the ADO.NET Core classes (ADO.NET Core stands for ActiveX Data Objects on the .NET Core platform). The .NET Core is a set of services and programs that provide the runtime environment for .NET applications. ADO.NET Core contains two primary components: the data set classes and the .NET provider classes.

The DataSet object represents a data source in memory (in a disconnected state). .NET applications use the DataSet object to manipulate data. The DataTable and DataColumn interfaces represent the source table and its columns. The DataRelation interface represents relationships, such as parent-child, between tables.

When you retrieve data from the database, the full result set is stored on the client. Keep your data sets as small as possible. If you do not need to return all the data, use a projection clause in the SELECT statement to limit the returned rows.

Following are the main OneDB .NET Core Provider classes that provide data access:
  • IfxConnection: Connection to a database and management of transactions.
  • IfxCommand: Issues SQL commands.
  • IfxDataReader: Reads a forward-only stream of data records.
  • IfxTransaction: Controls transactions.
  • IfxDataAdapter: Pushes data into a data set and for reconciling changes in a data set with the database.
You can use the following .NET Provider classes to develop provider-independent code:
  • DbProviderFactory
  • DbConnectionStringBuilder
  • DbCommand

The IfxDataReader object provides quick retrieval of data from the database. However, the data is read-only and you can only move forward, one record at a time, through the result set. Unlike DataSet objects, IfxDataReader objects do not create temporary tables to hold the data, and so they use less memory.

If data is changed on the client, you might want to apply those changes to the database. You can use the primary key of your database table to ensure that you update the correct row in the table. For single-table updates, you can use the IfxCommandBuilder class to automatically reconcile changes in the data set with the database.