Domanda

La documentazione mostra solo come associare a un oggetto IEnumerable (che utilizza LINQ alla pagina e ordinare) ... ma ho bisogno di andare contro uno sproc perché esprime la query su cui sto lavorando con LINQ sta dimostrando di essere un po ' rallentare.

Qualcuno può fornire linee guida o indicazioni su ciò che è il modo migliore per fare questo?

È stato utile?

Soluzione

È necessario utilizzare per personalizzato vincolante . L'esempio mostra come ottenere collegate alla pagina corrente.

Altri suggerimenti

Stai parlando di come associare la griglia Telerik a un set di risultati emessa da una stored procedure, o il modo per implementare il paging in una stored procedure? Non è chiaro dalla tua domanda.

Il seguente T-SQL stored procedure è un molto efficiente attuazione di paging. L'ottimizzatore SQL può trovare il primo ID molto veloce. Combinate questo con l'uso di ROWCOUNT, e si dispone di un approccio che è sia efficiente della CPU e leggere ad alta efficienza. Per una tabella con un gran numero di righe, batte certamente qualsiasi approccio che ho visto con una variabile di tabella o una tabella temporanea.

CREATE  PROCEDURE dbo.PagingTest
(
    @PageNumber int,
    @PageSize int
)
AS

DECLARE @FirstId int, @FirstRow int

SET @FirstRow = ( (@PageNumber - 1) * @PageSize ) + 1
SET ROWCOUNT @FirstRow

-- Add check here to ensure that @FirstRow is not
-- greater than the number of rows in the table.

SELECT   @FirstId = [Id]
FROM     dbo.TestTable
ORDER BY [Id]

SET ROWCOUNT @PageSize

SELECT   *
FROM     dbo.TestTable
WHERE    [Id] >= @FirstId
ORDER BY [Id]

SET ROWCOUNT 0
GO 

RoadWarrior ti ha dato un grande esempio di uno sProc paging, e korchev ti ha puntato verso vincolante personalizzato.

In realtà, dove i dati proviene da è irrilevante fino a quando si ottiene sotto forma di un IEnumerable, quindi basta ottenere il vostro codice di accesso ai dati scritti, e ottenere i dati fuori in un elenco, dopo vincolante che su misura dovrebbe essere facile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top