DataViewRow Classe

Definizione

Riga logica di dati. Può essere una riga di una IDataView riga o una riga autonoma.

public abstract class DataViewRow : IDisposable
type DataViewRow = class
    interface IDisposable
Public MustInherit Class DataViewRow
Implements IDisposable
Ereditarietà
DataViewRow
Derivato
Implementazioni

Costruttori

Nome Descrizione
DataViewRow()

Riga logica di dati. Può essere una riga di una IDataView riga o una riga autonoma.

Proprietà

Nome Descrizione
Batch

Ciò consente di riconciliare più righe prodotte in genere da GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random). Quando si ottiene un set, è necessario, consentendo al contempo l'elaborazione parallela di procedere, avere sempre un obiettivo che l'ordine originale deve essere recuperabile. Si noti che un utente si preoccupa o meno di quell'ordine originale in un'applicazione specifica è un'altra storia del tutto (la maggior parte dei chiamanti di questo come una questione pratica non lo chiama, altrimenti non lo chiamerebbe), ma almeno in linea di principio dovrebbe essere possibile ricostruire l'ordine originale che si otterrebbe da un oggetto configurato GetRowCursor(IEnumerable<DataViewSchema.Column>, Random)in modo identico. Quindi: per qualsiasi implementazione del cursore, i numeri batch devono essere non decrescente. Inoltre, qualsiasi numero di batch specificato deve essere visualizzato solo in uno dei cursori restituiti da GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random). In questo modo, l'ordine è determinato dal numero batch. Un'operazione che riconcilia questi cursori per produrre un cursore singolo coerente può farlo disegnando dal singolo cursore, tra tutti i cursori nel set, con il numero di batch più piccolo disponibile.

Si noti che non vi è alcun suggerimento che i batch per una determinata voce saranno coerenti dal cursore al cursore, ad eccezione della coerenza con conseguente ordinamento complessivo. La stessa voce potrebbe avere numeri di batch diversi da un cursore a un altro. Non è inoltre necessario che venga visualizzato alcun numero di batch specificato. Si tratta semplicemente di un meccanismo per il recupero dell'ordinamento da un partizionamento eventualmente arbitrario dei dati. A questo scopo, naturalmente, si considera che il batch sia una proprietà dei dati non è completamente valido.

Position

Questo viene incrementato quando il contenuto sottostante cambia, offrendo ai client un modo per rilevare la modifica. Deve essere -1 quando l'oggetto si trova in uno stato in cui non è possibile recuperare i valori. In particolare, per un oggetto DataViewRowCursor, questo sarà prima MoveNext() che venga chiamato per la prima volta o dopo la prima chiamata MoveNext() e restituisce false.

Si noti che questa posizione non è posizionata all'interno dei dati sottostanti, ma solo la posizione di questo cursore. Se, ad esempio, si apre un set di cursori di streaming paralleli o un cursore casuale, la prima voce valida di ogni cursore avrà sempre la posizione 0.

Schema

Ottiene un Schemaoggetto , che fornisce informazioni sul nome e sul tipo per le variabili ,ad esempio le colonne nel sistema dei tipi di ML.NET) archiviate in questa riga.

Metodi

Nome Descrizione
Dispose()

Implementazione di dispose. Chiama Dispose(Boolean) con true.

Dispose(Boolean)

Metodo eliminabile per il modello eliminabile. Questa implementazione predefinita non esegue alcuna operazione.

GetGetter<TValue>(DataViewSchema+Column)

Restituisce un delegato getter di valore per recuperare il valore dell'oggetto specificato columndalla riga. Viene generata un'eccezione se la colonna non è attiva in questa riga o se il tipo è diverso dal tipo TValue di questa colonna.

GetIdGetter()

Getter per un valore ID a 128 bit. È comune che gli oggetti usino più DataViewRow istanze per eseguire l'iterazione degli stessi dati, ad esempio in un IDataView set di cursori produrrà gli stessi dati di un cursore seriale, appena partizionato e un cursore casuale produrrà gli stessi dati di un cursore seriale o qualsiasi altro cursore casuale, solo shuffled. L'ID esiste per le applicazioni che devono riconciliare la voce in realtà. Idealmente questo ID deve essere univoco, ma per motivi pratici, è sufficiente se le collisioni sono semplicemente estremamente improbabili.

Si noti che questo ID, mentre deve essere coerente per più flussi in base alla semantica precedente, non è considerato parte dei dati per se. Pertanto, per prendere in considerazione l'esempio di una vista dati in modo specifico, una singola vista dati deve eseguire il rendering di ID coerenti in tutti i cursori, ma non vi è alcun suggerimento che se i dati "stessi" siano stati presentati in una vista dati diversa (ad esempio, essere trasformati, memorizzati nella cache, salvati o qualsiasi altro), che gli ID tra le due visualizzazioni dati diverse abbiano una relazione rilevabile.

IsColumnActive(DataViewSchema+Column)

Restituisce un valore che indica se la colonna specificata è attiva in questa riga.

Si applica a