Skip to main content
A newer version of this page is available. .

Data Binding to Large Data via XPO

  • 4 minutes to read

The ASPxGridView supports binding to large data sets via the XpoDataSource component provided by the XPO ORM library. This component fully supports database server mode (i.e., it delegates all data processing to the DB server), and only loads the records to be displayed on screen. This allows you to dramatically increase performance when working with large datasets.

Binding to Data

To bind ASPxGridView to a dataset via XpoDataSource in server mode, do the following.

  1. Create and customize an XpoDataSource object. At design time, you can find this component in the Toolbox and add it to the page.

    Note

    To see an example, refer to Tutorial 5 - An ASP .NET Application for Data Editing in the XPO help documentation.

    For information on generating persistent objects for existing data tables, see the Generating Persistent Objects for Existing Data Tables topic in the XPO help documentation.

  2. Set the XpoDataSource component’s XpoDataSource.ServerMode property to true. This enables database server mode.
  3. Bind ASPxGridView to XpoDataSource.
  4. Provide connection settings to the target data store.

In the following demo, you can see for yourself how fast the ASPxGridView control performs various operations (such as sorting, filtering, and grouping), and calculates summaries against 300,000 records in server mode: Data Binding to a Large Database via XPO

Data Stores Supported in Server Mode

In server mode, the ASPxGridView control uses methods provided by the eXpress Persistent Objects for .NET (XPO) to connect to a data store. It works with all the data stores supported by XPO. These are listed in the following table.

Database Engine

Version(s)

XPO Data Store Adapter

.NET Standard 2.0 Support

Database Provider Assembly

Advantage

Advantage Database Server v9.1, Advantage Database Server v10.1, Advantage Database Server v11.1

AdvantageConnectionProvider

 

Advantage.Data.Provider.dll 9.10.2.0

Advantage.Data.Provider.dll 10.10.0.49

Advantage.Data.Provider.dll 11.10.2.24

ASA

SQL Anywhere 16, SQL Anywhere 17

AsaConnectionProvider

 

iAnywhere.Data.SQLAnywhere.dll 16.0.0.13242

Sap.Data.SQLAnywhere.v4.0 17.0.0.13584

Sap.Data.SQLAnywhere.v4.5 17.0.0.13584

ASE

Sybase Adaptive Server 12, Sybase Adaptive Server 15.5, Sybase Adaptive Server 16

AseConnectionProvider

 

Sybase.Data.AseClient.dll 1.15.50.0

Sybase.AdoNet2.AseClient 16.0.0.2

Sybase.AdoNet35.AseClient 16.0.0.2

Sybase.AdoNet4.AseClient 16.0.0.2

DB2

DB2 9.7.4

DB2ConnectionProvider

yes

IBM.Data.DB2.dll 9.7.4.4

IBM.Data.DB2.Core.dll 1.2.2.100 (.NET Standard 2.0)

Firebird

Firebird 1.5, Firebird 2.5.7, Firebird 3.0.2

FirebirdConnectionProvider

yes

FirebirdSql.Data.Firebird.dll 2.5.1.0

FirebirdSql.Data.FirebirdClient.dll 5.12.1.0

MSAccess

Microsoft Jet

AccessConnectionProvider

 

System.Data.dll

MSSqlServer

Microsoft SqlServer 7.0, Microsoft SqlServer 2000, MS SQL Server 2000 Desktop Engine (MSDE 2000), Microsoft SQL Server 2005,

SQL Server 2005 Express Edition, SQL Server 2008, SQL Azure™ Database, SQL Server 2008 R2, SQL Server 2008 R2 Express, SQL Server 2012, SQL Server 2012 Express (including LocalDB), SQL Server 2014, SQL Server 2014 Express (including LocalDB), SQL Server 2016, SQL Server 2016 Express (including LocalDB), SQL Server 2017

MSSqlConnectionProvider

yes

System.Data.dll

System.Data.SqlClient 4.4.0 (.NET Standard 2.0)

MSSqlServerCE

Microsoft SqlServer 2005 Mobile, SQL Server 2005 Compact Edition (Microsoft SqlServer 2005 Everywhere Edition CTP), SQL Server Compact 3.5,

SQL Server Compact 4.0

MSSqlCEConnectionProvider

 

System.Data.SqlServerCe.dll 3.5.0

System.Data.SqlServerCe.dll 4.0.8482.1

MySql

MySQL Server 4.1, MySQL Server 5.0, MySQL Server 5.1, MySQL Server 5.7, MySQL Server 8.0.12

MySqlConnectionProvider

yes

MySql.Data.dll 8.0.12.0 (.NET Standard 2.0)

Oracle

Oracle 9i, Oracle 10g, Oracle 11g, Oracle 12c

OracleConnectionProvider

ODPConnectionProvider

ODPManagedConnectionProvider

yes

System.Data.OracleClient.dll 2.0.0.0

Oracle.DataAccess.dll 4.122.1.0

Oracle.ManagedDataAccess.dll 4.122.1.0

Oracle.ManagedDataAccess.Core.dll 2.18.3 (.NET Standard 2.0)

Pervasive

Pervasive PSQL 9, Pervasive PSQL 10, Pervasive PSQL 11

PervasiveSqlConnectionProvider

 

Pervasive.Data.SqlClient.dll 2.10.0.15

Pervasive.Data.SqlClient.dll 3.5.0.1811

PostgreSQL

PostgreSQL 7, PostgreSQL 8, PostgreSQL 9, PostgreSQL 10, PostgreSQL 11

PostgreSqlConnectionProvider

yes

Npgsql.dll 2.0.11.0

Npgsql.dll 3.2.5.0

Npgsql.dll 3.2.5.0 (.NET Standard 2.0)

Npgsql.dll 4.0.3.0

Npgsql.dll 4.0.3.0 (.NET Standard 2.0)

SQLite

SQLite 3

SQLiteConnectionProvider

yes

System.Data.SQLite.dll 1.0.88.0

Microsoft.Data.SQLite 2.0.0 (.NET Standard 2.0)

VistaDB

VistaDB 4, VistaDB 5

VistaDBConnectionProvider

 

VistaDB.4.dll 4.0.0.0

VistaDB.5.NET40.dll 5.2.0.0

Note that the database provider assembly versions listed in the table above are the versions that have been tested with the current XPO version. Since XPO loads ADO.NET provider assemblies dynamically, you can use any specific version of the provider.

Note

XPO does not support tables with multi-column (compound) keys or indexes in ASE databases. To avoid exceptions when connecting to ASE databases containing these tables, use one-column keys or indexes.

 

Note

We do not recommend binding the ASPxGridView control to file-based databases (MS Access and VistaDB). These databases are slow, unlike the transaction speed, data security and integrity of server-based database engines (MSSqlServer).

Database Server Mode Limitations

In database server mode, ASPxGridView does not have simultaneous access to bound data in its entirety. This imposes some limitations on the grid’s features, which are still available in regular binding mode. see the following topic for information on features that are not supported in server mode: Database Server Mode Limitations.

Task Based Help

See Also