DataViewRow Clase

Definición

Fila lógica de datos. Puede ser una fila de o IDataView una fila independiente.

public abstract class DataViewRow : IDisposable
type DataViewRow = class
    interface IDisposable
Public MustInherit Class DataViewRow
Implements IDisposable
Herencia
DataViewRow
Derivado
Implementaciones

Constructores

DataViewRow()

Fila lógica de datos. Puede ser una fila de o IDataView una fila independiente.

Propiedades

Batch

Esto proporciona un medio para la conciliación de varias filas que se han producido generalmente a partir de GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random). Al obtener un conjunto, es necesario, al tiempo que se permite que el procesamiento paralelo continúe, siempre tiene el objetivo de que el orden original se pueda recuperar. Tenga en cuenta que si un usuario se preocupa o no de ese orden original en una aplicación específica es otra historia por completo (la mayoría de los autores de la llamada a esto como una cuestión práctica no lo llamarían), pero al menos en principio debería ser posible reconstruir el orden original que obtendría de una configuración idéntica GetRowCursor(IEnumerable<DataViewSchema.Column>, Random). Por lo tanto, para cualquier implementación del cursor, los números de lote deben no disminuir. Además, cualquier número de lote determinado solo debe aparecer en uno de los cursores tal y como devuelve GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random). De esta manera, el orden viene determinado por el número de lote. Una operación que concilie estos cursores para generar un único cursor coherente, podría hacerlo dibujando desde el cursor único, entre todos los cursores del conjunto, que tiene el número de lote más pequeño disponible.

Tenga en cuenta que no hay ninguna sugerencia de que los lotes de una entrada determinada sean coherentes entre cursores y cursores, excepto por la coherencia, lo que da lugar a la misma ordenación general. La misma entrada podría tener números de lote diferentes de un cursor a otro. Tampoco hay ningún requisito de que aparezca ningún número de lote determinado, en absoluto. Es simplemente un mecanismo para recuperar la ordenación de una partición posiblemente arbitraria de los datos. También sigue esto, por supuesto, que considerar que el lote para ser una propiedad de los datos no es totalmente válido.

Position

Esto se incrementa cuando cambia el contenido subyacente, lo que proporciona a los clientes una manera de detectar cambios. Debe ser -1 cuando el objeto está en un estado donde no se pueden capturar valores. En concreto, para , DataViewRowCursoresto será antes MoveNext() si alguna vez se llama por primera vez MoveNext() , o después de llamar a y devuelve false.

Tenga en cuenta que esta posición no es posición dentro de los datos subyacentes, sino solo la posición de este cursor. Si uno, por ejemplo, abrió un conjunto de cursores de streaming paralelos o un cursor aleatorio, la primera entrada válida de este cursor siempre tendría la posición 0.

Schema

Obtiene un Schema, que proporciona información de nombre y tipo para variables (es decir, columnas del sistema de tipos de ML.NET) almacenadas en esta fila.

Métodos

Dispose()

Implementación de dispose. Llama a Dispose(Boolean) con true.

Dispose(Boolean)

Método descartable para el patrón descartable. Esta implementación predeterminada no hace nada.

GetGetter<TValue>(DataViewSchema+Column)

Devuelve un delegado de captador de valor para capturar el valor de la clase especificada column, de la fila . Esto produce si la columna no está activa en esta fila o si el tipo TValue difiere del tipo de esta columna.

GetIdGetter()

Captador de un valor de identificador de 128 bits. Es habitual que los objetos sirvan varias DataViewRow instancias para iterar sobre lo que se supone que son los mismos datos; por ejemplo, en un IDataView conjunto de cursores se producirán los mismos datos que un cursor serie, solo con particiones y un cursor aleatorio producirá los mismos datos que un cursor serie o cualquier otro cursor aleatorio, sólo ordenó aleatoriamente. El identificador existe para las aplicaciones que necesitan conciliar qué entrada es realmente cuál. Idealmente, este id. debe ser único, pero por motivos prácticos, basta si las colisiones son simplemente extremadamente improbables.

Tenga en cuenta que este identificador, aunque debe ser coherente para varias secuencias según la semántica anterior, no se considera parte de los datos por se. Por lo tanto, para tomar el ejemplo de una vista de datos específicamente, una sola vista de datos debe representar identificadores coherentes en todos los cursores, pero no hay ninguna sugerencia en absoluto que si los datos "iguales" se presentaran en una vista de datos diferente (por ejemplo, que se transforman, almacenan en caché, se guardan o lo que sea), que los identificadores entre las dos vistas de datos diferentes tendrían cualquier relación perceptible.

IsColumnActive(DataViewSchema+Column)

Devuelve si la columna especificada está activa en esta fila.

Se aplica a