Compartilhar via


Table<TEntity>.DeleteOnSubmit(TEntity) Método

Definição

Coloca uma entidade desta tabela em um estado de 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)

Parâmetros

entity
TEntity

A entidade a ser excluída.

Implementações

Exemplos

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

Comentários

A entidade removida não desaparece dos resultados da consulta até que after SubmitChanges seja chamado. As entidades desconectadas devem primeiro ser anexadas antes de serem excluídas. Para ter mais informações, consulte Recuperação de dados e operações de CUD em aplicativos de N Camadas (LINQ to SQL).

Observação

O LINQ to SQL não dá suporte a nem reconhece operações de exclusão em cascata. Se você deseja excluir uma linha em uma tabela que tem restrições nela, defina a regra ON DELETE CASCADE na restrição de chave estrangeira no banco de dados ou use seu próprio código para primeiro excluir os objetos filho que impedem que o objeto pai seja excluído. Caso contrário, uma exceção será gerada.

Aplica-se a