Kendo UI DataSourceRequest性能影响

时间:2013-01-04 01:50:32

标签: 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
}));

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

var selectedCountries = _database.Countries.GetCountryStartWith("m")

1 个答案:

答案 0 :(得分:6)

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