Udostępnij za pośrednictwem


DataViewRow Klasa

Definicja

Logiczny wiersz danych. Może być wierszem IDataView wiersza autonomicznego lub autonomicznego.

public abstract class DataViewRow : IDisposable
type DataViewRow = class
    interface IDisposable
Public MustInherit Class DataViewRow
Implements IDisposable
Dziedziczenie
DataViewRow
Pochodne
Implementuje

Konstruktory

DataViewRow()

Logiczny wiersz danych. Może być wierszem IDataView wiersza autonomicznego lub autonomicznego.

Właściwości

Batch

Zapewnia to metodę uzgadniania wielu wierszy, które zostały wygenerowane na ogół z programu GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random). W przypadku pobierania zestawu konieczne jest, przy jednoczesnym umożliwieniu przetwarzania równoległego, zawsze mają na celu możliwość odzyskania oryginalnej kolejności. Należy pamiętać, czy użytkownik dba o tę oryginalną kolejność w określonej aplikacji, jest zupełnie inną historią (większość rozmówców tego jako praktycznej sprawy nie, w przeciwnym razie nie nazwaliby go), ale przynajmniej w zasadzie powinno być możliwe odtworzenie oryginalnej kolejności, którą można uzyskać z identycznie skonfigurowanego GetRowCursor(IEnumerable<DataViewSchema.Column>, Random)elementu . Tak więc: w przypadku każdej implementacji kursora numery wsadowe powinny nie być malejące. Ponadto każda podana liczba partii powinna być wyświetlana tylko w jednym z kursorów zwróconych przez GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random). W ten sposób kolejność jest określana przez numer wsadowy. Operacja, która uzgadnia te kursory w celu utworzenia spójnego pojedynczego kursora, może to zrobić, rysując z pojedynczego kursora wśród wszystkich kursorów w zestawie, który ma najmniejszą dostępną liczbę partii.

Należy pamiętać, że nie ma sugestii, że partie dla określonego wpisu będą spójne z kursorem na kursor, z wyjątkiem spójności w wyniku tego samego ogólnego porządkowania. Ten sam wpis może mieć różne numery wsadowe od jednego kursora do innego. Nie ma również wymogu, aby w ogóle pojawiał się dowolny numer partii. Jest to jedynie mechanizm odzyskiwania kolejności z prawdopodobnie dowolnego partycjonowania danych. Wynika to również z tego oczywiście, że rozważanie partii jako właściwości danych jest całkowicie nieprawidłowe.

Position

Jest to zwiększane, gdy zawartość bazowa ulegnie zmianie, dając klientom sposób wykrywania zmian. Powinien mieć wartość -1, gdy obiekt znajduje się w stanie, w którym nie można pobrać wartości. W szczególności w przypadku DataViewRowCursor, będzie to wcześniej MoveNext() , jeśli kiedykolwiek wywołane po raz pierwszy, lub po pierwszym MoveNext() wywołaniu i zwraca wartość false.

Należy pamiętać, że ta pozycja nie znajduje się w danych bazowych, ale tylko pozycja tego kursora. Jeśli na przykład otwarto zestaw równoległych kursorów przesyłania strumieniowego lub potasowany kursor, każdy z nich pierwszy prawidłowy wpis kursora zawsze będzie miał pozycję 0.

Schema

Pobiera element Schema, który zawiera informacje o nazwie i typie zmiennych (tj. kolumn w systemie typów ML.NET) przechowywanych w tym wierszu.

Metody

Dispose()

Implementacja usuwania. Wywołania Dispose(Boolean) za pomocą polecenia true.

Dispose(Boolean)

Metoda jednorazowa dla wzorca jednorazowego. Ta domyślna implementacja nic nie robi.

GetGetter<TValue>(DataViewSchema+Column)

Zwraca delegata pobierającego wartość, aby pobrać wartość danego columnelementu z wiersza . Spowoduje to zgłoszenie, jeśli kolumna nie jest aktywna w tym wierszu lub jeśli typ TValue różni się od typu tej kolumny.

GetIdGetter()

Element pobierający dla 128-bitowej wartości identyfikatora. Często obiekty obsługują wiele DataViewRow wystąpień w celu iterowania danych, które powinny być tymi samymi danymi, na przykład w IDataView zestawie kursorów spowoduje wygenerowanie tych samych danych co kursor szeregowy, po prostu partycjonowany, a potasowany kursor będzie generować te same dane co kursor seryjny lub dowolny inny kursor, tylko tasowane. Identyfikator istnieje dla aplikacji, które muszą uzgodnić, który wpis jest rzeczywiście który. Najlepiej, aby ten identyfikator był unikatowy, ale z praktycznych powodów wystarczy, jeśli kolizje są po prostu niezwykle nieprawdopodobne.

Należy pamiętać, że ten identyfikator, chociaż musi być spójny dla wielu strumieni zgodnie z semantyki powyżej, nie jest uważany za część danych na se se. Tak więc, aby uznać przykład widoku danych, pojedynczy widok danych musi renderować spójne identyfikatory we wszystkich kursorach, ale w ogóle nie ma sugestii, że jeśli "te same" dane zostały przedstawione w innym widoku danych (np. przez przekształcenie, zapisanie, zapisanie lub cokolwiek innego), identyfikatory między dwoma różnymi widokami danych będą miały zauważalną relację.

IsColumnActive(DataViewSchema+Column)

Zwraca, czy dana kolumna jest aktywna w tym wierszu.

Dotyczy