Bagikan melalui


Table<TEntity>.DeleteOnSubmit(TEntity) Metode

Definisi

Menempatkan entitas dari tabel ini ke dalam status pending delete .

public:
 void DeleteOnSubmit(TEntity entity);
public:
 virtual void DeleteOnSubmit(TEntity entity);
public void DeleteOnSubmit (TEntity entity);
member this.DeleteOnSubmit : 'Entity -> unit
abstract member DeleteOnSubmit : 'Entity -> unit
override this.DeleteOnSubmit : 'Entity -> unit
Public Sub DeleteOnSubmit (entity As TEntity)

Parameter

entity
TEntity

Entitas yang akan dihapus.

Penerapan

Contoh

// Query the database for the rows to be deleted.
var deleteOrderDetails =
    from details in db.OrderDetails
    where details.OrderID == 11000
    select details;

foreach (var detail in deleteOrderDetails)
{
    db.OrderDetails.DeleteOnSubmit(detail);
}

try
{
    db.SubmitChanges();
}
catch (Exception e)
{
    Console.WriteLine(e);
    // Provide for exceptions.
}
' Query the database for the rows to be deleted.
Dim deleteOrderDetails = _
    From details In db.OrderDetails() _
    Where details.OrderID = 11000 _
    Select details

For Each detail As OrderDetail In deleteOrderDetails
    db.OrderDetails.DeleteOnSubmit(detail)
Next

Try
    db.SubmitChanges()
Catch ex As Exception
    Console.WriteLine(ex)
    ' Provide for exceptions
End Try

Keterangan

Entitas yang dihapus tidak menghilang dari hasil kueri sampai setelah SubmitChanges dipanggil. Entitas yang terputus harus terlebih dahulu dilampirkan sebelum dapat dihapus. Untuk informasi selengkapnya, lihat Pengambilan Data dan Operasi CUD di Aplikasi N-Tier (LINQ ke SQL).

Catatan

LINQ to SQL tidak mendukung atau mengenali operasi penghapusan cascade. Jika Anda ingin menghapus baris dalam tabel yang memiliki batasan terhadap baris tersebut, Anda harus mengatur aturan ON DELETE CASCADE dalam batasan kunci asing di database, atau menggunakan kode Anda sendiri untuk menghapus objek turunan terlebih dahulu yang mencegah induknya agar tidak dihapus. Jika tidak, pengecualian ditampilkan.

Berlaku untuk