Sdílet prostřednictvím


Table<TEntity>.DeleteOnSubmit(TEntity) Metoda

Definice

Převede entitu z této tabulky do pending delete stavu.

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)

Parametry

entity
TEntity

Entita, která se má odstranit.

Implementuje

Příklady

// 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

Poznámky

Odebraná entita nezmizí z výsledků dotazu, dokud SubmitChanges se nevolá. Odpojené entity musí být nejprve připojeny, aby bylo možné je odstranit. Další informace najdete v tématu Operace načítání dat a cud v n-vrstvých aplikacích (LINQ to SQL).

Poznámka

LINQ to SQL nepodporuje ani nerozpoznává operace kaskádového odstranění. Pokud chcete odstranit řádek v tabulce s omezeními, musíte buď nastavit ON DELETE CASCADE pravidlo v omezení cizího klíče v databázi, nebo pomocí vlastního kódu nejprve odstranit podřízené objekty, které brání odstranění nadřazeného objektu. V opačném případě je vyvolána výjimka.

Platí pro