Bagikan melalui


EntityCollection<TEntity>.Attach Metode

Definisi

Menentukan hubungan antara dua objek terlampir dalam konteks objek.

Overload

Attach(IEnumerable<TEntity>)

Menentukan hubungan antara objek dan kumpulan objek terkait dalam konteks objek.

Attach(TEntity)

Menentukan hubungan antara dua objek terlampir dalam konteks objek.

Attach(IEnumerable<TEntity>)

Menentukan hubungan antara objek dan kumpulan objek terkait dalam konteks objek.

public:
 void Attach(System::Collections::Generic::IEnumerable<TEntity> ^ entities);
public void Attach (System.Collections.Generic.IEnumerable<TEntity> entities);
override this.Attach : seq<'Entity (requires 'Entity : null and 'Entity :> System.Data.Objects.DataClasses.IEntityWithRelationships)> -> unit
override this.Attach : seq<'Entity (requires 'Entity : null)> -> unit
Public Sub Attach (entities As IEnumerable(Of TEntity))

Parameter

entities
IEnumerable<TEntity>

Kumpulan objek dalam konteks objek yang terkait dengan objek sumber.

Pengecualian

entities koleksi adalah null.

Objek sumber atau objek dalam entities koleksi adalah null atau tidak dalam status Unchanged atau Modified .

-atau-

Hubungan tidak dapat ditentukan berdasarkan metadata EDM. Ini dapat terjadi ketika asosiasi dalam skema konseptual tidak mendukung hubungan antara kedua jenis tersebut.

Keterangan

Metode Attach ini digunakan untuk menentukan hubungan antara objek dan kumpulan objek terkait ketika objek sumber dan kumpulan objek terkait sudah ada dalam konteks objek. Untuk melampirkan objek atau grafik objek tempat hubungan sudah ditentukan, panggil Attach metode pada ObjectContext. Untuk membuat objek baru yang terkait dengan objek sumber, panggil Add metode pada EntityCollection<TEntity>. Untuk informasi selengkapnya, lihat Melampirkan dan Melepaskan Objek.

Jika koleksi sudah diisi atau diisi sebagian, Attach metode menggabungkan entitas yang ada dengan entitas yang diberikan. Entitas yang diberikan tidak diasumsikan sebagai kumpulan lengkap entitas terkait.

Semua entitas yang diteruskan harus dalam Unchanged status atau Modified . Objek dalam status Deleted hanya diizinkan ketika manajer status sudah melacak instans hubungan.

Berlaku untuk

Attach(TEntity)

Menentukan hubungan antara dua objek terlampir dalam konteks objek.

public:
 void Attach(TEntity entity);
public void Attach (TEntity entity);
override this.Attach : 'Entity -> unit
Public Sub Attach (entity As TEntity)

Parameter

entity
TEntity

Objek sedang dilampirkan.

Pengecualian

entity Ketika adalah null.

entity Ketika tidak dapat terkait dengan objek sumber. Ini dapat terjadi ketika asosiasi dalam skema konseptual tidak mendukung hubungan antara kedua jenis tersebut.

-atau-

Ketika objek berada null atau tidak dalam status Unchanged atau Modified .

Contoh

Contoh ini didasarkan pada Model Penjualan Adventure Works. Untuk menjalankan kode dalam contoh ini, Anda harus telah menambahkan Model Penjualan AdventureWorks ke proyek Anda dan mengonfigurasi proyek Anda untuk menggunakan Kerangka Kerja Entitas. Untuk melakukan ini, selesaikan prosedur dalam Cara: Mengonfigurasi Proyek Kerangka Kerja Entitas secara Manual dan Cara: Menentukan Model dan File Pemetaan secara Manual.

Contoh ini melampirkan kumpulan objek yang dilepas SalesOrderDetail dan objek yang dilepas SalesOrderHeader ke konteks objek, lalu menentukan hubungan antara SalesOrderHeader objek dan setiap SalesOrderDetail objek.

private static void AttachRelatedObjects(
    ObjectContext currentContext,
    SalesOrderHeader detachedOrder,
    List<SalesOrderDetail> detachedItems)
{
    // Attach the root detachedOrder object to the supplied context.
    currentContext.Attach(detachedOrder);

    // Attach each detachedItem to the context, and define each relationship
    // by attaching the attached SalesOrderDetail object to the EntityCollection on
    // the SalesOrderDetail navigation property of the now attached detachedOrder.
    foreach (SalesOrderDetail item in detachedItems)
    {
        currentContext.Attach(item);
        detachedOrder.SalesOrderDetails.Attach(item);
    }
}

Keterangan

Metode Attach ini digunakan untuk menentukan hubungan antara dua objek ketika kedua objek sudah ada dalam konteks objek. Untuk melampirkan objek atau grafik objek tempat hubungan sudah ditentukan, panggil Attach metode pada ObjectContext. Untuk membuat objek baru yang terkait dengan objek sumber, panggil Add metode pada EntityCollection<TEntity>. Untuk informasi selengkapnya, lihat Melampirkan dan Melepaskan Objek.

EntityCollection<TEntity> Jika sudah memuat objek, Attach metode menggabungkan objek bersama dengan objek yang ada di EntityCollection<TEntity>.

Objek terlampir tidak diasumsikan sebagai kumpulan lengkap objek entitas terkait.

Objek yang terkait dengan ini EntityCollection<TEntity> dan semua objek yang dilampirkan ke objek harus dalam status Unchanged atau Modified .

Objek dalam status Deleted hanya dapat dilampirkan ketika ObjectStateManager sudah melacak instans hubungan.

Berlaku untuk