Bagikan melalui


DataViewRow Kelas

Definisi

Baris data logis. Mungkin baris atau IDataView baris yang berdiri sendiri.

public abstract class DataViewRow : IDisposable
type DataViewRow = class
    interface IDisposable
Public MustInherit Class DataViewRow
Implements IDisposable
Warisan
DataViewRow
Turunan
Penerapan

Konstruktor

DataViewRow()

Baris data logis. Mungkin baris atau IDataView baris yang berdiri sendiri.

Properti

Batch

Ini menyediakan sarana untuk merekonsiliasi beberapa baris yang telah diproduksi umumnya dari GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random). Saat mendapatkan set, ada kebutuhan untuk, sambil memungkinkan pemrosesan paralel untuk melanjutkan, selalu memiliki tujuan bahwa pesanan asli harus dapat dipulihkan. Perhatikan, apakah pengguna peduli atau tidak tentang urutan asli dalam aplikasi spesifik seseorang adalah cerita lain sama sekali (sebagian besar pemanggil ini sebagai masalah praktis tidak, jika tidak mereka tidak akan menyebutnya), tetapi setidaknya pada prinsipnya seharusnya dimungkinkan untuk merekonstruksi urutan asli yang akan didapatkan seseorang dari yang dikonfigurasi GetRowCursor(IEnumerable<DataViewSchema.Column>, Random)secara identik . Jadi: untuk implementasi kursor apa pun, angka batch harus tidak menurun. Selain itu, setiap nomor batch yang diberikan hanya boleh muncul di salah satu kursor seperti yang dikembalikan oleh GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random). Dengan cara ini, urutan ditentukan oleh nomor batch. Operasi yang merekonsiliasi kursor ini untuk menghasilkan kursor tunggal yang konsisten, dapat melakukannya dengan menggambar dari kursor tunggal, di antara semua kursor dalam set, yang memiliki nomor batch terkecil yang tersedia.

Perhatikan bahwa tidak ada saran bahwa batch untuk entri tertentu akan konsisten dari kursor ke kursor, kecuali untuk konsistensi dalam menghasilkan urutan keseluruhan yang sama. Entri yang sama bisa memiliki nomor batch yang berbeda dari satu kursor ke kursor lainnya. Juga tidak ada persyaratan bahwa nomor batch yang diberikan harus muncul, sama sekali. Ini hanyalah mekanisme untuk memulihkan pemesanan dari pemartisian data yang mungkin semena-mena. Ini juga mengikuti dari ini, tentu saja, yang mempertimbangkan batch menjadi properti data benar-benar tidak valid.

Position

Ini bertahas ketika konten yang mendasar berubah, memberi klien cara untuk mendeteksi perubahan. Seharusnya -1 ketika objek berada dalam status di mana nilai tidak dapat diambil. Secara khusus, untuk DataViewRowCursor, ini akan sebelum MoveNext() jika pernah dipanggil untuk pertama kalinya, atau setelah pertama kali MoveNext() dipanggil dan mengembalikan false.

Perhatikan bahwa posisi ini tidak berada dalam data yang mendasar, tetapi posisi kursor ini saja. Jika satu, misalnya, membuka sekumpulan kursor streaming paralel, atau kursor yang diacak, setiap entri kursor pertama yang valid akan selalu memiliki posisi 0.

Schema

SchemaMendapatkan , yang menyediakan informasi nama dan jenis untuk variabel (yaitu, kolom dalam sistem jenis ML.NET) yang disimpan dalam baris ini.

Metode

Dispose()

Implementasi pembuangan. Dispose(Boolean) Panggilan dengan true.

Dispose(Boolean)

Metode sekali pakai untuk pola sekali pakai. Implementasi default ini tidak melakukan apa pun.

GetGetter<TValue>(DataViewSchema+Column)

Mengembalikan delegasi getter nilai untuk mengambil nilai yang diberikan column, dari baris. Ini melemparkan jika kolom tidak aktif di baris ini, atau jika jenisnya TValue berbeda dari jenis kolom ini.

GetIdGetter()

Getter untuk nilai ID 128-bit. Adalah umum bagi objek untuk melayani beberapa DataViewRow instans untuk melakukan iterasi atas apa yang seharusnya menjadi data yang sama, misalnya, dalam IDataView kumpulan kursor akan menghasilkan data yang sama dengan kursor serial, hanya dipartisi, dan kursor yang diacak akan menghasilkan data yang sama dengan kursor serial atau kursor acak lainnya, hanya diacak. ID ada untuk aplikasi yang perlu merekonsiliasi entri mana yang sebenarnya. Idealnya ID ini harus unik, tetapi untuk alasan praktis, cukup jika tabrakan sangat tidak mungkin.

Perhatikan bahwa ID ini, meskipun harus konsisten untuk beberapa aliran sesuai dengan semantik di atas, tidak dianggap sebagai bagian dari data per detik. Jadi, untuk mengambil contoh tampilan data secara khusus, satu tampilan data harus merender ID yang konsisten di semua kursor, tetapi tidak ada saran sama sekali bahwa jika data "sama" disajikan dalam tampilan data yang berbeda (seperti, katakanlah, diubah, di-cache, disimpan, atau apa pun), bahwa ID antara dua tampilan data yang berbeda akan memiliki hubungan yang dapat dilihat.

IsColumnActive(DataViewSchema+Column)

Mengembalikan apakah kolom yang diberikan aktif dalam baris ini.

Berlaku untuk