Back to Devexpress

Data binding directly to a store query (DbSet, DbQuery, DbSqlQuery, DbRawSqlQuery) is not supported

aspnetmvc-404538-troubleshooting-server-side-issues-data-binding-directly-to-store-query-not-supported.md

latest2.0 KB
Original Source

Data binding directly to a store query (DbSet, DbQuery, DbSqlQuery, DbRawSqlQuery) is not supported

  • Sep 18, 2023

Error Description:

This error can occur when you use the Bind method with the non-evaluated / IQueryable Model (for example, a table from a data context) to bind a data-aware DevExpress MVC Extensions (grid-like, scheduler and tree list extensions) to data.

Controller:

csharp
public ActionResult GridViewPartial() {  
    EFDataContext db = new EFDataContext();  
    return PartialView(db.Table_Name);  
}
vb
Public Function GridViewPartial() As ActionResult  
    Dim db As New EFDataContext()  
    Return PartialView(db.Table_Name)  
End Function

PartialView:

csharp
@Html.DevExpress().GridView(settings => {  
    ...  
}).Bind(Model).GetHtml()
vb
@Html.DevExpress().GridView( _  
    Sub(settings)  
    ...  
End Sub).Bind(Model).GetHtml()

Solution:

To resolve this issue, you can use the ToList method to load/evaluate a Model.

Controller:

csharp
using System.Linq;  
...  
public ActionResult GridViewPartial() {  
    EFDataContext db = new EFDataContext();  
    return PartialView(db.Table_Name.ToList());  
}
vb
Imports System.Linq  
...  

Public Function GridViewPartial() As ActionResult  
    Dim db As New EFDataContext()  
    Return PartialView(db.Table_Name.ToList())  
End Function

See Also: