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