Udostępnij za pośrednictwem


Table<TEntity>.DeleteOnSubmit(TEntity) Metoda

Definicja

Umieszcza jednostkę z tej tabeli w pending delete stanie .

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

Jednostka, która ma zostać usunięta.

Implementuje

Przykłady

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

Uwagi

Usunięta jednostka nie zniknie z wyników zapytania dopiero po SubmitChanges wywołaniu. Odłączone jednostki muszą być najpierw dołączone, zanim będzie można je usunąć. Aby uzyskać więcej informacji, zobacz Operacje pobierania danych i cud w aplikacjach N-warstwowych (LINQ to SQL).

Uwaga

LINQ to SQL nie obsługuje ani nie rozpoznaje operacji usuwania kaskadowego. Jeśli chcesz usunąć wiersz w tabeli z ograniczeniami, musisz ustawić ON DELETE CASCADE regułę w ograniczeniu klucza obcego w bazie danych lub użyć własnego kodu, aby najpierw usunąć obiekty podrzędne, które uniemożliwiają usunięcie obiektu nadrzędnego. W przeciwnym razie jest zgłaszany wyjątek.

Dotyczy