Compartilhar via


Propriedade BatchSize

Obtém ou define o tamanho do lote (em linhas) usado por comandos que recuperam alterações do banco de dados servidor.

Namespace:  Microsoft.Synchronization.Data.Server
Assembly:  Microsoft.Synchronization.Data.Server (em Microsoft.Synchronization.Data.Server.dll)

Sintaxe

'Declaração
Public Property BatchSize As Integer
    Get
    Set
'Uso
Dim instance As DbServerSyncProvider
Dim value As Integer

value = instance.BatchSize

instance.BatchSize = value
public int BatchSize { get; set; }
public:
property int BatchSize {
    int get ();
    void set (int value);
}
member BatchSize : int with get, set
function get BatchSize () : int
function set BatchSize (value : int)

Valor da propriedade

Tipo: System. . :: . .Int32
O tamanho do lote (em linhas) usado por comandos que recuperam alterações do banco de dados do servidor.

Comentários

O Sync Framework permite que os aplicativos baixem lotes de alterações no cliente (não há suporte para o envio em lote no carregamento). O envio em lote é habilitado especificando-se um valor para a propriedade BatchSize e criando-se um comando para a propriedade SelectNewAnchorCommand que pode retornar valores de âncora para cada lote de alterações. Para obter mais informações, consulte Como especificar a ordem e o tamanho do lote de alterações.

Exemplos

O exemplo de código a seguir cria um comando de âncora que poderá ser usado se as alterações forem entregues em lotes. Em vez de retornar um novo valor de âncora para todo o conjunto de alterações, ele retorna um novo valor para cada lote de alterações. O exemplo usa a propriedade BatchSize para especificar quantas alterações devem estar em cada lote, além das variáveis de sessão para passar valores de âncora entre um procedimento armazenado e o tempo de execução da sincronização. Se você gravar comandos do adaptador de sincronização manualmente, ainda usará as variáveis de sessão @sync\_new\_received\_anchor e @sync\_last\_received\_anchor. A variável de sessão @sync\_max\_received\_anchor é usada apenas pelo novo comando de âncora. Para exibir esse código no contexto de um exemplo completo, consulte Como especificar a ordem e o tamanho do lote de alterações.

SqlCommand selectNewAnchorCommand = new SqlCommand();
selectNewAnchorCommand.Connection = serverConn;
selectNewAnchorCommand.CommandText = "usp_GetNewBatchAnchor";
selectNewAnchorCommand.CommandType = CommandType.StoredProcedure;            
selectNewAnchorCommand.Parameters.Add("@" + SyncSession.SyncLastReceivedAnchor, SqlDbType.Timestamp, 8);
selectNewAnchorCommand.Parameters.Add("@" + SyncSession.SyncMaxReceivedAnchor, SqlDbType.Timestamp, 8);
selectNewAnchorCommand.Parameters.Add("@" + SyncSession.SyncNewReceivedAnchor, SqlDbType.Timestamp, 8);
selectNewAnchorCommand.Parameters.Add("@" + SyncSession.SyncBatchSize, SqlDbType.Int, 4);
selectNewAnchorCommand.Parameters.Add("@" + SyncSession.SyncBatchCount, SqlDbType.Int, 4);            

selectNewAnchorCommand.Parameters["@" + SyncSession.SyncMaxReceivedAnchor].Direction = ParameterDirection.Output;
selectNewAnchorCommand.Parameters["@" + SyncSession.SyncNewReceivedAnchor].Direction = ParameterDirection.Output;
selectNewAnchorCommand.Parameters["@" + SyncSession.SyncBatchCount].Direction = ParameterDirection.InputOutput;
this.SelectNewAnchorCommand = selectNewAnchorCommand;
this.BatchSize = 50;
Dim selectNewAnchorCommand As New SqlCommand()
selectNewAnchorCommand.Connection = serverConn
selectNewAnchorCommand.CommandText = "usp_GetNewBatchAnchor"
selectNewAnchorCommand.CommandType = CommandType.StoredProcedure
selectNewAnchorCommand.Parameters.Add("@" + SyncSession.SyncLastReceivedAnchor, SqlDbType.Timestamp, 8)
selectNewAnchorCommand.Parameters.Add("@" + SyncSession.SyncMaxReceivedAnchor, SqlDbType.Timestamp, 8)
selectNewAnchorCommand.Parameters.Add("@" + SyncSession.SyncNewReceivedAnchor, SqlDbType.Timestamp, 8)
selectNewAnchorCommand.Parameters.Add("@" + SyncSession.SyncBatchSize, SqlDbType.Int, 4)
selectNewAnchorCommand.Parameters.Add("@" + SyncSession.SyncBatchCount, SqlDbType.Int, 4)

selectNewAnchorCommand.Parameters("@" + SyncSession.SyncMaxReceivedAnchor).Direction = ParameterDirection.Output
selectNewAnchorCommand.Parameters("@" + SyncSession.SyncNewReceivedAnchor).Direction = ParameterDirection.Output
selectNewAnchorCommand.Parameters("@" + SyncSession.SyncBatchCount).Direction = ParameterDirection.InputOutput
Me.SelectNewAnchorCommand = selectNewAnchorCommand
Me.BatchSize = 50

Consulte também

Referência

DbServerSyncProvider Classe

Membros DbServerSyncProvider

Namespace Microsoft.Synchronization.Data.Server