BatchSize Propiedad
Obtiene o establece el tamaño del lote (en número de filas) utilizado en los comandos que recuperan cambios de la base de datos servidor.
Espacio de nombres: Microsoft.Synchronization.Data.Server
Ensamblado: Microsoft.Synchronization.Data.Server (en Microsoft.Synchronization.Data.Server.dll)
Sintaxis
'Declaración
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 de la propiedad
Tipo: System. . :: . .Int32
Tamaño del lote (en número de filas) utilizado en los comandos que recuperan cambios de la base de datos servidor.
Notas
Sync Framework permite a las aplicaciones descargar lotes de cambios en el cliente (no se admite el procesamiento por lotes en las operaciones de carga). Para habilitar el procesamiento por lotes se especifica un valor para la propiedad BatchSize y se crea un comando para la propiedad SelectNewAnchorCommand que puede devolver valores de delimitador para cada lote de cambios. Para obtener más información, vea Cómo: Especificar el orden y el tamaño de lote de los cambios.
Ejemplos
El ejemplo de código siguiente crea un comando de delimitador que se puede usar si se producen cambios en los lotes. En lugar de devolver un nuevo valor de delimitador de una vez para todo el conjunto de cambios, devuelve un nuevo valor de delimitador para cada lote de cambios. Este ejemplo utiliza la propiedad BatchSize para especificar cuántos cambios debe haber en cada lote y las variables de sesión necesarias para pasar valores de delimitador de atrás adelante entre un procedimiento almacenado y el tiempo de ejecución de la sincronización. Si escribe comandos de adaptador de sincronización de forma manual, seguirá usando las variables de sesión @sync\_new\_received\_anchor y @sync\_last\_received\_anchor. El nuevo comando de delimitador es el único que usa la variable de sesión @sync\_max\_received\_anchor. Para consultar este código en el contexto de un ejemplo completo, vea Cómo: Especificar el orden y el tamaño de lote de los cambios.
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