Data Binding to Large Data via LINQ
- 3 minutes to read
The ASPxGridView control supports binding to large data sets via the LinqServerModeDataSource component. This component fully support database server mode (i.e. delegates all data processing to the DB server), and only loads records to be displayed on screen. This allows you to dramatically increase performance when working with large datasets.
The server mode can be enabled for any Language-Integrated Query (LINQ) provider. The LinqServerModeDataSource component is designed for ASP.NET applications, and serves as a data source for the ASPxGridView control.
When an end-user performs data operations - sorting, grouping, etc., the LinqServerModeDataSource component analyzes the grid's current state and generates smart queries to receive only those records that must be displayed on-screen. These requests are passed to the associated LINQ Provider. The LINQ Provider translates them into required queries and executes them.
The LinqServerModeDataSource component allows you to bind ASPxGridView to 'LINQ to SQL Classes' and enable the server mode.
Create Data Classes
Add 'LINQ to SQL Classes'.
Data classes can then be created and edited in the Object Relational Designer (O/R Designer). The O/R Designer provides a visual design surface for creating LINQ to SQL entity classes and relationships based on objects in a database. The O/R Designer currently supports only SQL Server 2000, SQL Server 2005, SQL Server 2008, and SQL Server Express databases.
Entity classes can be created and mapped to tables and views by dragging database tables and views from Server Explorer/Database Explorer onto the O/R Designer.
- Save your changes, close the O/R Designer, and rebuild the solution.
- Drag the LinqServerModeDataSource component from the Visual Studio toolbox and drop it onto the Page.
- Specify the type of objects retrieved from a data source, using the LinqServerModeDataSource.ContextTypeName property.
- Specify the data table name using the LinqServerModeDataSource.TableName property.
- Bind the ASPxGridView control to the LinqServerModeDataSource component, and specify the grid's ASPxGridBase.KeyFieldName property.
You can use the Selecting event to dynamically assign data to the grid.
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.