Table<TEntity>.DeleteOnSubmit(TEntity) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Помещает сущность из таблицы в состояние 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)
Параметры
- entity
- TEntity
Сущность, которая будет удалена.
Реализации
Примеры
// 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
Комментарии
Удаленная сущность не исчезает из результатов запроса до тех пор, пока не SubmitChanges будет вызвана функция . Прежде чем удалять отключенные сущности, их необходимо сначала подключить. Дополнительные сведения см. в разделе Извлечение данных и операции CUD в N-уровневых приложениях (LINQ to SQL).
Примечание
LINQ to SQL не поддерживает и не распознает операции каскадного удаления. Если вы хотите удалить строку в таблице с ограничениями, необходимо либо задать ON DELETE CASCADE
правило в ограничении внешнего ключа в базе данных, либо использовать собственный код, чтобы сначала удалить дочерние объекты, препятствующие удалению родительского объекта. В противном случае создается исключение.