EntityReference<TEntity>.Load(MergeOption) Metode
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.
Memuat objek terkait untuk EntityReference<TEntity> ini dengan opsi penggabungan yang ditentukan.
public:
override void Load(System::Data::Objects::MergeOption mergeOption);
public override void Load (System.Data.Objects.MergeOption mergeOption);
override this.Load : System.Data.Objects.MergeOption -> unit
Public Overrides Sub Load (mergeOption As MergeOption)
Parameter
- mergeOption
- MergeOption
Menentukan bagaimana objek harus dikembalikan jika sudah ada di ObjectContext.
Pengecualian
Sumber EntityReference<TEntity>null
.
-atau-
Kueri mengembalikan lebih dari satu ujung terkait.
-atau-
Kueri mengembalikan nol akhir terkait, dan satu akhir terkait diharapkan.
Keterangan
Metode ini digunakan untuk memuat objek terkait.
Saat dimuat, objek terkait diakses dari properti Value.
Untuk memuat objek terkait secara eksplisit, Anda harus memanggil metode Load
pada akhir terkait yang dikembalikan oleh properti navigasi. Untuk hubungan satu ke banyak, panggil metode Load pada EntityCollection<TEntity>, dan untuk hubungan satu-ke-satu, panggil Load di EntityReference<TEntity>. Ini memuat data objek terkait ke dalam konteks objek. Saat kueri mengembalikan hasil, Anda dapat menghitung melalui kumpulan objek menggunakan perulangan foreach
(For Each...Next
di Visual Basic) dan secara kondisional memanggil metode Load
pada properti EntityReference<TEntity> dan EntityCollection<TEntity> untuk setiap entitas dalam hasil.
Metode Load memuat objek terkait dari sumber data apakah IsLoadedtrue
atau tidak.
Nota
Saat Anda memanggil metode Load selama enumerasi foreach
(C#) atau For Each
(Visual Basic), Object Services mencoba membuka pembaca data baru. Operasi ini akan gagal kecuali Anda telah mengaktifkan beberapa kumpulan hasil aktif dengan menentukan multipleactiveresultsets=true
dalam string koneksi. Anda juga dapat memuat hasil kueri ke dalam koleksi List<T>. Ini menutup pembaca data dan memungkinkan Anda menghitung koleksi untuk memuat objek yang dirujuk.
Metode ini memanggil metode RelatedEnd.ValidateLoad
internal sebelum memuat objek terkait, yang memvalidasi bahwa panggilan ke Load memiliki kondisi yang benar. Metode RelatedEnd.ValidateLoad
memeriksa bahwa:
- Ada ObjectContext yang valid.
- Entitas tidak dalam status Deleted.
- MergeOption untuk Load harus NoTracking jika dan hanya jika entitas sumber NoTracking. Jika entitas sumber diambil dengan MergeOptionlain, LoadMergeOption bisa apa saja kecuali NoTracking (misalnya, entitas dapat dimuat dengan OverwriteChanges dan opsi Load dapat AppendOnly).
- Jika
mergeOption
NoTracking, Load tidak dipanggil pada entitas yang sudah dimuat dan Load tidak dipanggil pada RelatedEndyang tidak kosong dan tidak dilacak.
Ketika objek terkait sudah dimuat di ObjectContext, metode Load memberlakukan MergeOption yang ditentukan oleh parameter mergeOption
. Untuk informasi selengkapnya, lihat Resolusi Identitas, Manajemen Status, dan Pelacakan Perubahan.