Regarding performance, I've also tried:
@(Html.Kendo().Grid<
vNPISearch
>()
.Name("npi-grid")
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("NPI_Read", "Pecos"))
.ServerOperation(true)
.PageSize(20))
.Columns(columns =>
{
columns.Template(x => { }).ClientTemplate("#=GetPecosStatus(PecosNPI) #").Width(50);
columns.Bound(x => x.ProviderFirstName).Title("First Name");
columns.Bound(x => x.ProviderLastName).Title("Last Name");
columns.Bound(x => x.ProviderBusinessLocationAddressCity).Title("City");
columns.Bound(x => x.ProviderBusinessLocationAddressState).Title("State");
columns.Bound(x => x.NPI).Title("NPI");
})
.Scrollable(scr => scr.Height("auto"))
.Sortable()
.Pageable(pageable => pageable
.Refresh(true)
.PageSizes(true)
.ButtonCount(5))
)
The result set has ONLY 55 records. Initial load and paging takes ~15 seconds. It takes a second if I use the same query in SSMS. I'm returning an IQueryable. It's absolutely ridiculous.