CardViewExtension.BindToLINQ(String, String, EventHandler<LinqServerModeDataSourceSelectEventArgs>, EventHandler<ServerModeExceptionThrownEventArgs>) Method

Binds the CardView to a queryable source in database server mode.

Namespace: DevExpress.Web.Mvc

Assembly: DevExpress.Web.Mvc5.v21.1.dll


public CardViewExtension BindToLINQ(
    string contextTypeName,
    string tableName,
    EventHandler<LinqServerModeDataSourceSelectEventArgs> selectingMethod,
    EventHandler<ServerModeExceptionThrownEventArgs> exceptionThrownMethod


Name Type Description
contextTypeName String

A string representing the DataContext type name.

tableName String

A string specifying the table name.

selectingMethod EventHandler<LinqServerModeDataSourceSelectEventArgs>

A method to which selection logic is delegated.

exceptionThrownMethod EventHandler<ServerModeExceptionThrownEventArgs>

A delegate method that allows catching unhandled/CLR exceptions that appear.


Type Description

A CardViewExtension object representing the CardView extension.


Using the BindToLINQ method, you can easily bind the CardView to queryable data sources. Simply call the method, pass the DataContext and table name as method parameters, and specify the key field via the CardView’s GridSettingsBase.KeyFieldName property.

Internally, the BindToLINQ method uses our LinqServerModeDataSource component, which was specifically designed to allow the CardView to efficiently process large amounts of data. The LinqServerModeDataSource component automatically enables database server mode to optimize the execution of all LINQ queries initiated by the CardView. In this mode, the CardView loads records on demand and performs data-aware operations (sorting, filtering, etc.) on the data server. This technique significantly improves the CardView’s speed and responsiveness.


The code sample below demonstrates how to catch the internal exception thrown when using the Database Server Mode data binding approach.

View code (Razor):

@Html.DevExpress().CardView(settings => {
    // CardView settings
}).BindToLINQ(string.Empty, string.Empty, (s, e) => {
    // Specify queryable source
    var dataContext = new MyProject.Models.LargeDatabaseDataContext();
    e.QueryableSource = dataContext.Emails;
    e.KeyExpression = "Id";
}, (s, e) => {
    // Handle internal exception
    ViewContext.Writer.Write(e.Exception.Message + Environment.NewLine + e.Exception.StackTrace);
See Also