BindingSource Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Merangkum sumber data untuk formulir.
public ref class BindingSource : System::ComponentModel::Component, System::Collections::IList, System::ComponentModel::IBindingListView, System::ComponentModel::ICancelAddNew, System::ComponentModel::ISupportInitializeNotification, System::ComponentModel::ITypedList, System::Windows::Forms::ICurrencyManagerProvider
public ref class BindingSource : System::ComponentModel::Component, System::Collections::IList, System::ComponentModel::IBindingListView, System::ComponentModel::ICancelAddNew, System::ComponentModel::ISupportInitialize, System::ComponentModel::ISupportInitializeNotification, System::ComponentModel::ITypedList, System::Windows::Forms::ICurrencyManagerProvider
[System.ComponentModel.ComplexBindingProperties("DataSource", "DataMember")]
public class BindingSource : System.ComponentModel.Component, System.Collections.IList, System.ComponentModel.IBindingListView, System.ComponentModel.ICancelAddNew, System.ComponentModel.ISupportInitializeNotification, System.ComponentModel.ITypedList, System.Windows.Forms.ICurrencyManagerProvider
[System.ComponentModel.ComplexBindingProperties("DataSource", "DataMember")]
public class BindingSource : System.ComponentModel.Component, System.Collections.IList, System.ComponentModel.IBindingListView, System.ComponentModel.ICancelAddNew, System.ComponentModel.ISupportInitialize, System.ComponentModel.ISupportInitializeNotification, System.ComponentModel.ITypedList, System.Windows.Forms.ICurrencyManagerProvider
[<System.ComponentModel.ComplexBindingProperties("DataSource", "DataMember")>]
type BindingSource = class
inherit Component
interface IBindingListView
interface IBindingList
interface IList
interface ICollection
interface IEnumerable
interface ITypedList
interface ICancelAddNew
interface ISupportInitializeNotification
interface ISupportInitialize
interface ICurrencyManagerProvider
[<System.ComponentModel.ComplexBindingProperties("DataSource", "DataMember")>]
type BindingSource = class
inherit Component
interface IBindingListView
interface ICollection
interface IEnumerable
interface IList
interface IBindingList
interface ITypedList
interface ICancelAddNew
interface ISupportInitializeNotification
interface ISupportInitialize
interface ICurrencyManagerProvider
Public Class BindingSource
Inherits Component
Implements IBindingListView, ICancelAddNew, ICurrencyManagerProvider, IList, ISupportInitializeNotification, ITypedList
Public Class BindingSource
Inherits Component
Implements IBindingListView, ICancelAddNew, ICurrencyManagerProvider, IList, ISupportInitialize, ISupportInitializeNotification, ITypedList
- Warisan
- Atribut
- Penerapan
Contoh
Contoh kode berikut menunjukkan terikat ListBox ke BindingSource. BindingSource terikat ke yang BindingList<T> berisi daftar font.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace BindingSourceExamples
{
public class Form1 : Form
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.Run(new Form1());
}
public Form1()
{
this.Load += new EventHandler(Form1_Load);
}
private TextBox textBox1;
private Button button1;
private ListBox listBox1;
private BindingSource binding1;
void Form1_Load(object sender, EventArgs e)
{
listBox1 = new ListBox();
textBox1 = new TextBox();
binding1 = new BindingSource();
button1 = new Button();
listBox1.Location = new Point(140, 25);
listBox1.Size = new Size(123, 160);
textBox1.Location = new Point(23, 70);
textBox1.Size = new Size(100, 20);
textBox1.Text = "Wingdings";
button1.Location = new Point(23, 25);
button1.Size = new Size(75, 23);
button1.Text = "Search";
button1.Click += new EventHandler(this.button1_Click);
this.ClientSize = new Size(292, 266);
this.Controls.Add(this.button1);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.listBox1);
MyFontList fonts = new MyFontList();
for (int i = 0; i < FontFamily.Families.Length; i++)
{
if (FontFamily.Families[i].IsStyleAvailable(FontStyle.Regular))
fonts.Add(new Font(FontFamily.Families[i], 11.0F, FontStyle.Regular));
}
binding1.DataSource = fonts;
listBox1.DataSource = binding1;
listBox1.DisplayMember = "Name";
}
private void button1_Click(object sender, EventArgs e)
{
if (binding1.SupportsSearching != true)
{
MessageBox.Show("Cannot search the list.");
}
else
{
int foundIndex = binding1.Find("Name", textBox1.Text);
if (foundIndex > -1)
listBox1.SelectedIndex = foundIndex;
else
MessageBox.Show("Font was not found.");
}
}
}
public class MyFontList : BindingList<Font>
{
protected override bool SupportsSearchingCore
{
get { return true; }
}
protected override int FindCore(PropertyDescriptor prop, object key)
{
// Ignore the prop value and search by family name.
for (int i = 0; i < Count; ++i)
{
if (Items[i].FontFamily.Name.ToLower() == ((string)key).ToLower())
return i;
}
return -1;
}
}
}
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Drawing
Imports System.Text
Imports System.Windows.Forms
Public Class Form1
Inherits Form
<STAThread()> _
Shared Sub Main()
Application.EnableVisualStyles()
Application.Run(New Form1())
End Sub
Public Sub New()
End Sub
Private textBox1 As TextBox
Private WithEvents button1 As Button
Private listBox1 As ListBox
Private components As IContainer
Private binding1 As BindingSource
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
listBox1 = New ListBox()
textBox1 = New TextBox()
binding1 = New BindingSource()
button1 = New Button()
listBox1.Location = New Point(140, 25)
listBox1.Size = New Size(123, 160)
textBox1.Location = New Point(23, 70)
textBox1.Size = New Size(100, 20)
textBox1.Text = "Wingdings"
button1.Location = New Point(23, 25)
button1.Size = New Size(75, 23)
button1.Text = "Search"
Me.ClientSize = New Size(292, 266)
Me.Controls.Add(Me.button1)
Me.Controls.Add(Me.textBox1)
Me.Controls.Add(Me.listBox1)
Dim fonts As New MyFontList()
Dim i As Integer
For i = 0 To FontFamily.Families.Length - 1
If FontFamily.Families(i).IsStyleAvailable(FontStyle.Regular) Then
fonts.Add(New Font(FontFamily.Families(i), 11.0F, FontStyle.Regular))
End If
Next i
binding1.DataSource = fonts
listBox1.DataSource = binding1
listBox1.DisplayMember = "Name"
End Sub
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) _
Handles button1.Click
If binding1.SupportsSearching <> True Then
MessageBox.Show("Cannot search the list.")
Else
Dim foundIndex As Integer = binding1.Find("Name", textBox1.Text)
If foundIndex > -1 Then
listBox1.SelectedIndex = foundIndex
Else
MessageBox.Show("Font was not found.")
End If
End If
End Sub
End Class
Public Class MyFontList
Inherits BindingList(Of Font)
Protected Overrides ReadOnly Property SupportsSearchingCore() As Boolean
Get
Return True
End Get
End Property
Protected Overrides Function FindCore(ByVal prop As PropertyDescriptor, _
ByVal key As Object) As Integer
' Ignore the prop value and search by family name.
Dim i As Integer
While i < Count
If Items(i).FontFamily.Name.ToLower() = CStr(key).ToLower() Then
Return i
End If
i += 1
End While
Return -1
End Function
End Class
Keterangan
Komponen ini BindingSource melayani banyak tujuan. Pertama, ini menyederhanakan kontrol pengikatan pada formulir ke data dengan menyediakan manajemen mata uang, pemberitahuan perubahan, dan layanan lain antara kontrol Formulir Windows dan sumber data. Ini dicapai dengan melampirkan BindingSource komponen ke sumber data Anda menggunakan DataSource properti . Untuk skenario pengikatan kompleks, Anda dapat secara opsional mengatur DataMember properti ke kolom atau daftar tertentu di sumber data. Anda kemudian mengikat kontrol ke BindingSource. Semua interaksi lebih lanjut dengan data dicapai dengan panggilan ke BindingSource komponen. Misalnya tentang cara BindingSource menyederhanakan proses pengikatan, lihat Cara: Mengikat Kontrol Formulir Windows ke Nilai Database DBNull dan Cara: Menangani Kesalahan dan Pengecualian yang Terjadi dengan Pengikatan Data. Navigasi dan pembaruan sumber data dilakukan melalui metode seperti MoveNext, MoveLast, dan Remove. Operasi seperti pengurutan dan pemfilteran ditangani melalui Sort properti dan Filter . Untuk informasi selengkapnya tentang menggunakan pengurutan dan pemfilteran dengan BindingSource, lihat Cara: Mengurutkan dan Memfilter Data ADO.NET dengan Komponen Formulir Windows BindingSource.
Selain itu, BindingSource komponen dapat bertindak sebagai sumber data yang sangat di ketik. Biasanya jenis sumber data yang mendasar diperbaiki melalui salah satu mekanisme berikut:
Add Gunakan metode untuk menambahkan item ke BindingSource komponen.
Atur properti ke DataSource daftar, objek tunggal, atau jenis.
Kedua mekanisme ini membuat daftar yang sangat di ketik. Untuk informasi selengkapnya tentang cara menggunakan untuk mengikat BindingSource ke jenis, lihat Cara: Mengikat Kontrol Formulir Windows ke Jenis. Anda juga dapat menggunakan BindingSource untuk mengikat kontrol Anda ke objek pabrik. Untuk informasi selengkapnya tentang cara melakukannya, lihat Cara: Mengikat Kontrol Formulir Windows ke Objek Pabrik.
Catatan
Karena menangani sumber data yang BindingSource sederhana dan kompleks, terminologi bermasalah. Dalam dokumentasi kelas ini, daftar istilah mengacu pada kumpulan data dalam sumber data yang dihosting, dan item menunjukkan satu elemen. Saat membahas fungsionalitas yang terkait dengan sumber data kompleks, tabel dan baris istilah yang setara digunakan.
BindingSource menyediakan anggota untuk mengakses data yang mendasar. Item saat ini dapat diambil melalui Current properti , dan seluruh daftar dapat diambil melalui List properti . Operasi pengeditan didukung pada item saat ini melalui Current dan RemoveCurrentmetode , , EndEditCancelEdit dan Add dan AddNew . Meskipun manajemen mata uang ditangani secara otomatis untuk semua jenis sumber data yang mendasar, kelas ini mengekspos sejumlah peristiwa, seperti CurrentItemChanged dan DataSourceChanged, yang memungkinkan penyesuaian.
Sumber data yang terikat ke BindingSource komponen juga dapat dinavigasi dan dikelola dengan BindingNavigator kelas , yang menyediakan antarmuka pengguna (UI) seperti VCR untuk menavigasi item dalam daftar. Meskipun BindingNavigator dapat terikat ke sumber data apa pun, itu dirancang untuk berintegrasi dengan BindingSource komponen melalui propertinya BindingNavigator.BindingSource .
Properti default untuk BindingSource kelas adalah DataSource. Peristiwa defaultnya adalah CurrentChanged.
Perhatian
Banyak anggota BindingSource kelas beroperasi pada daftar dasar yang diwakili oleh List properti dan cukup merujuk operasi mereka ke daftar yang mendasar. Oleh karena itu, ketika BindingSource terikat dengan implementasi IListkustom , perilaku yang tepat dari anggota ini mungkin berbeda dari perilaku yang dijelaskan dalam dokumentasi kelas. Misalnya, RemoveAt metode memanggil IList.RemoveAt. Dokumentasi menjelaskan BindingSourceRemoveAt metode dengan pemahaman bahwa RemoveAt metode untuk dasarnya IList diimplementasikan dengan benar.
Konstruktor
BindingSource() |
Menginisialisasi instans BindingSource baru kelas ke nilai properti default. |
BindingSource(IContainer) |
Menginisialisasi instans BindingSource baru kelas dan menambahkan BindingSource ke kontainer yang ditentukan. |
BindingSource(Object, String) |
Menginisialisasi instans BindingSource baru kelas dengan sumber data dan anggota data yang ditentukan. |
Properti
AllowEdit |
Mendapatkan nilai yang menunjukkan apakah item dalam daftar yang mendasar dapat diedit. |
AllowNew |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah AddNew() metode dapat digunakan untuk menambahkan item ke daftar. |
AllowRemove |
Mendapatkan nilai yang menunjukkan apakah item dapat dihapus dari daftar yang mendasar. |
CanRaiseEvents |
Mendapatkan nilai yang menunjukkan apakah komponen dapat menaikkan peristiwa. (Diperoleh dari Component) |
Container |
IContainer Mendapatkan yang berisi Component. (Diperoleh dari Component) |
Count |
Mendapatkan jumlah total item dalam daftar yang mendasar, dengan mempertimbangkan nilai saat ini Filter . |
CurrencyManager |
Mendapatkan manajer mata uang yang terkait dengan ini BindingSource. |
Current |
Mendapatkan item saat ini dalam daftar. |
DataMember |
Mendapatkan atau mengatur daftar tertentu di sumber data tempat konektor saat ini mengikat. |
DataSource |
Mendapatkan atau mengatur sumber data yang diikat konektor. |
DesignMode |
Mendapatkan nilai yang menunjukkan apakah Component saat ini dalam mode desain. (Diperoleh dari Component) |
Events |
Mendapatkan daftar penanganan aktivitas yang dilampirkan ke ini Component. (Diperoleh dari Component) |
Filter |
Mendapatkan atau mengatur ekspresi yang digunakan untuk memfilter baris mana yang ditampilkan. |
IsBindingSuspended |
Mendapatkan nilai yang menunjukkan apakah pengikatan daftar ditangguhkan. |
IsFixedSize |
Mendapatkan nilai yang menunjukkan apakah daftar yang mendasar memiliki ukuran tetap. |
IsReadOnly |
Mendapatkan nilai yang menunjukkan apakah daftar yang mendasar bersifat baca-saja. |
IsSorted |
Mendapatkan nilai yang menunjukkan apakah item dalam daftar yang mendasar diurutkan. |
IsSynchronized |
Mendapatkan nilai yang menunjukkan apakah akses ke koleksi disinkronkan (utas aman). |
Item[Int32] |
Mendapatkan atau mengatur elemen daftar pada indeks yang ditentukan. |
List |
Mendapatkan daftar yang terikat dengan konektor. |
Position |
Mendapatkan atau mengatur indeks item saat ini dalam daftar yang mendasar. |
RaiseListChangedEvents |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah ListChanged peristiwa harus dinaikkan. |
Site |
Mendapatkan atau mengatur ISite dari Component. (Diperoleh dari Component) |
Sort |
Mendapatkan atau mengatur nama kolom yang digunakan untuk pengurutan, dan urutan pengurutan untuk menampilkan baris di sumber data. |
SortDescriptions |
Mendapatkan kumpulan deskripsi pengurutan yang diterapkan ke sumber data. |
SortDirection |
Mendapatkan arah item dalam daftar diurutkan. |
SortProperty |
PropertyDescriptor Mendapatkan yang sedang digunakan untuk mengurutkan daftar. |
SupportsAdvancedSorting |
Mendapatkan nilai yang menunjukkan apakah sumber data mendukung pengurutan multi-kolom. |
SupportsChangeNotification |
Mendapatkan nilai yang menunjukkan apakah sumber data mendukung pemberitahuan perubahan. |
SupportsFiltering |
Mendapatkan nilai yang menunjukkan apakah sumber data mendukung pemfilteran. |
SupportsSearching |
Mendapatkan nilai yang menunjukkan apakah sumber data mendukung pencarian dengan Find(PropertyDescriptor, Object) metode . |
SupportsSorting |
Mendapatkan nilai yang menunjukkan apakah sumber data mendukung pengurutan. |
SyncRoot |
Mendapatkan objek yang dapat digunakan untuk menyinkronkan akses ke daftar yang mendasar. |
Metode
Add(Object) |
Menambahkan item yang sudah ada ke daftar internal. |
AddNew() |
Menambahkan item baru ke daftar yang mendasar. |
ApplySort(ListSortDescriptionCollection) |
Mengurutkan sumber data dengan deskripsi pengurutan yang ditentukan. |
ApplySort(PropertyDescriptor, ListSortDirection) |
Mengurutkan sumber data menggunakan pendeskripsi properti yang ditentukan dan arah pengurutan. |
CancelEdit() |
Membatalkan operasi edit saat ini. |
Clear() |
Menghapus semua elemen dari daftar. |
Contains(Object) |
Menentukan apakah objek adalah item dalam daftar. |
CopyTo(Array, Int32) |
Menyalin konten ke List array yang ditentukan, dimulai dari nilai indeks yang ditentukan. |
CreateObjRef(Type) |
Membuat objek yang berisi semua informasi relevan yang diperlukan untuk menghasilkan proksi yang digunakan untuk berkomunikasi dengan objek jarak jauh. (Diperoleh dari MarshalByRefObject) |
Dispose() |
Merilis semua sumber daya yang Componentdigunakan oleh . (Diperoleh dari Component) |
Dispose(Boolean) |
Merilis sumber daya tidak terkelola yang BindingSource digunakan oleh dan secara opsional merilis sumber daya terkelola. |
EndEdit() |
Menerapkan perubahan yang tertunda ke sumber data yang mendasar. |
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
Find(PropertyDescriptor, Object) |
Mencari indeks item yang memiliki pendeskripsi properti yang diberikan. |
Find(String, Object) |
Mengembalikan indeks item dalam daftar dengan nama dan nilai properti yang ditentukan. |
GetEnumerator() |
Mengambil enumerator untuk List. |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetItemProperties(PropertyDescriptor[]) |
Mengambil array PropertyDescriptor objek yang mewakili properti yang dapat diikat dari jenis daftar sumber data. |
GetLifetimeService() |
Kedaluwarsa.
Mengambil objek layanan seumur hidup saat ini yang mengontrol kebijakan seumur hidup untuk instans ini. (Diperoleh dari MarshalByRefObject) |
GetListName(PropertyDescriptor[]) |
Mendapatkan nama daftar yang menyediakan data untuk pengikatan. |
GetRelatedCurrencyManager(String) |
Mendapatkan pengelola mata uang terkait untuk anggota data yang ditentukan. |
GetService(Type) |
Mengembalikan objek yang mewakili layanan yang disediakan oleh Component atau oleh Container. (Diperoleh dari Component) |
GetType() |
Mendapatkan instans Type saat ini. (Diperoleh dari Object) |
IndexOf(Object) |
Mencari objek yang ditentukan dan mengembalikan indeks kemunculan pertama dalam seluruh daftar. |
InitializeLifetimeService() |
Kedaluwarsa.
Mendapatkan objek layanan seumur hidup untuk mengontrol kebijakan seumur hidup untuk instans ini. (Diperoleh dari MarshalByRefObject) |
Insert(Int32, Object) |
Menyisipkan item ke dalam daftar pada indeks yang ditentukan. |
MemberwiseClone() |
Membuat salinan dangkal dari yang saat ini Object. (Diperoleh dari Object) |
MemberwiseClone(Boolean) |
Membuat salinan dangkal objek saat ini MarshalByRefObject . (Diperoleh dari MarshalByRefObject) |
MoveFirst() |
Berpindah ke item pertama dalam daftar. |
MoveLast() |
Berpindah ke item terakhir dalam daftar. |
MoveNext() |
Berpindah ke item berikutnya dalam daftar. |
MovePrevious() |
Berpindah ke item sebelumnya dalam daftar. |
OnAddingNew(AddingNewEventArgs) |
Memunculkan kejadian AddingNew. |
OnBindingComplete(BindingCompleteEventArgs) |
Memunculkan kejadian BindingComplete. |
OnCurrentChanged(EventArgs) |
Memunculkan kejadian CurrentChanged. |
OnCurrentItemChanged(EventArgs) |
Memunculkan kejadian CurrentItemChanged. |
OnDataError(BindingManagerDataErrorEventArgs) |
Memunculkan kejadian DataError. |
OnDataMemberChanged(EventArgs) |
Memunculkan kejadian DataMemberChanged. |
OnDataSourceChanged(EventArgs) |
Memunculkan kejadian DataSourceChanged. |
OnListChanged(ListChangedEventArgs) |
Memunculkan kejadian ListChanged. |
OnPositionChanged(EventArgs) |
Memunculkan kejadian PositionChanged. |
Remove(Object) |
Menghapus item yang ditentukan dari daftar. |
RemoveAt(Int32) |
Menghapus item pada indeks yang ditentukan dalam daftar. |
RemoveCurrent() |
Menghapus item saat ini dari daftar. |
RemoveFilter() |
Menghapus filter yang terkait dengan BindingSource. |
RemoveSort() |
Menghapus pengurutan yang terkait dengan BindingSource. |
ResetAllowNew() |
Menginisialisasi ulang AllowNew properti . |
ResetBindings(Boolean) |
Menyebabkan kontrol yang terikat ke BindingSource untuk dibaca ulang semua item dalam daftar dan menyegarkan nilai yang ditampilkan. |
ResetCurrentItem() |
Menyebabkan kontrol yang terikat ke BindingSource untuk dibaca ulang item yang saat ini dipilih dan menyegarkan nilai yang ditampilkan. |
ResetItem(Int32) |
Menyebabkan kontrol yang terikat ke BindingSource untuk dibaca ulang item pada indeks yang ditentukan, dan merefresh nilai yang ditampilkan. |
ResumeBinding() |
Melanjutkan pengikatan data. |
SuspendBinding() |
Menangguhkan pengikatan data untuk mencegah perubahan memperbarui sumber data terikat. |
ToString() |
Mengembalikan yang String berisi nama Component, jika ada. Metode ini tidak boleh ditimpa. (Diperoleh dari Component) |
Acara
AddingNew |
Terjadi sebelum item ditambahkan ke daftar yang mendasar. |
BindingComplete |
Terjadi ketika semua klien telah terikat dengan ini BindingSource. |
CurrentChanged |
Terjadi ketika item yang saat ini terikat berubah. |
CurrentItemChanged |
Terjadi ketika nilai Current properti properti telah berubah. |
DataError |
Terjadi ketika pengecualian terkait mata uang ditangani secara diam-diam BindingSourceoleh . |
DataMemberChanged |
Terjadi ketika DataMember nilai properti telah berubah. |
DataSourceChanged |
Terjadi ketika DataSource nilai properti telah berubah. |
Disposed |
Terjadi ketika komponen dibuang oleh panggilan ke Dispose() metode . (Diperoleh dari Component) |
ListChanged |
Terjadi ketika daftar yang mendasar berubah atau item dalam daftar berubah. |
PositionChanged |
Terjadi setelah nilai Position properti berubah. |
Implementasi Antarmuka Eksplisit
IBindingList.AddIndex(PropertyDescriptor) |
Menambahkan ke PropertyDescriptor indeks yang digunakan untuk pencarian. |
IBindingList.RemoveIndex(PropertyDescriptor) |
PropertyDescriptor Menghapus dari indeks yang digunakan untuk pencarian. |
ICancelAddNew.CancelNew(Int32) |
Membuang item baru yang tertunda dari koleksi. |
ICancelAddNew.EndNew(Int32) |
Menerapkan item baru yang tertunda ke koleksi. |
ISupportInitialize.BeginInit() |
Menandakan BindingSource bahwa inisialisasi dimulai. |
ISupportInitialize.EndInit() |
Menandakan BindingSource bahwa inisialisasi selesai. |
ISupportInitializeNotification.Initialized |
Terjadi ketika diinisialisasi BindingSource . |
ISupportInitializeNotification.IsInitialized |
Mendapatkan nilai yang menunjukkan apakah diinisialisasi BindingSource . |
Metode Ekstensi
Cast<TResult>(IEnumerable) |
Mentransmisikan elemen dari IEnumerable ke jenis yang ditentukan. |
OfType<TResult>(IEnumerable) |
Memfilter elemen berdasarkan IEnumerable jenis tertentu. |
AsParallel(IEnumerable) |
Mengaktifkan paralelisasi kueri. |
AsQueryable(IEnumerable) |
Mengonversi menjadi IEnumerableIQueryable. |