Kendo UI DataSourceRequest性能影响

Jee*_*Lee 3 kendo-ui

我正在使用KendoUI网格并使用其ToDataSourceResult来过滤我的数据(如文档所示),但我担心性能影响.

根据我的理解,下面建议的代码从数据库获取所有记录到内存和performm ToDataSourceResult扩展方法来过滤内存中的记录(LINQ流畅的api概念).如果我有很多记录,这会对性能产生很大影响吗?

我认为对数据库进行查询,前面的"where"子句会有更好的性能......请指教.

这是文档中建议的内容

var countries = _database.Countries.GetAll();
return Json(countries.ToDataSourceResult(request, record => new
{
     record.Id,
     record.Name,
     record.Currency,
     record.TimeZone
}));
Run Code Online (Sandbox Code Playgroud)

这是不使用ToDataSource过滤器的其他选项

var selectedCountries = _database.Countries.GetCountryStartWith("m")
Run Code Online (Sandbox Code Playgroud)

Ata*_*hev 6

这取决于您的GetAll方法返回的内容.如果它IQueryable启用LINQ的提供程序(实体框架,Linq到SQL或其他任何内容)返回,则所有操作都将在数据库级别(而不是在内存中)执行.如果它返回所有记录 - 即使在使用ToDataSourceResult之前你也遇到了问题.