DeleteOnSubmit(T)
Указывает LINQ-провайдеру СУБД ЛИНТЕР выполнить SQL-команду удаления записи, которая соответствует указанному объекту.
Команда будет выполнена методом LinterDataContext.SubmitChanges()
.
Синтаксис
public void DeleteOnSubmit(T objectToDelete);
objectToDelete
– объект типа T, который необходимо удалить.
Возвращаемое значение
Значение типа void
.
Исключения
ArgumentNullException | Параметр objectToDelete равен null. | |
Exception | Объект objectToDelete не отслеживается LINQ-провайдером. |
Пример
// В примере создаётся класс Auto, который отображается на // таблицу AUTO в демонстрационной БД. // 1) Создаётся экземпляр класса Auto и сохраняется в БД. // 2) Изменяется свойство объекта и сохраняется в БД. // 3) Объект удаляется из БД. // C# using System; using System.Linq; using System.ComponentModel; using System.Data.Linq.Linter; using System.Data.Linq.Mapping; // Класс Auto отображается на таблицу AUTO [Table(Name = "AUTO")] class Auto : INotifyPropertyChanging { // Свойство Make отображается на поле MAKE [Column(Name = "MAKE")] public string Make { get { return _make; } set { if (!value.Equals(_make, StringComparison.Ordinal)) { SendPropertyChanging(); _make = value; } } } private string _make; // Свойство Model отображается на поле MODEL [Column(Name = "MODEL")] public string Model { get { return _model; } set { if (!value.Equals(_model, StringComparison.Ordinal)) { SendPropertyChanging(); _model = value; } } } private string _model; // Свойство PersonId отображается на поле PERSONID [Column(Name = "PERSONID", IsPrimaryKey = true)] public int PersonId { get { return _personId; } set { if (value != _personId) { SendPropertyChanging(); _personId = value; } } } private int _personId; private void SendPropertyChanging() { if (PropertyChanging != null) { PropertyChanging(this, new PropertyChangingEventArgs(string.Empty)); } } public event PropertyChangingEventHandler PropertyChanging; } class SubmitChangesSample { static void Main() { // Формирование строки соединения var connectionStr = "Data Source=LOCAL;User ID=SYSTEM;Password=MANAGER8"; // Создание контекста using (var context = new LinterDataContext(connectionStr)) { // Сохранение нового объекта var auto = new Auto { Make = "MAKE AUTO", Model = "MODEL AUTO", PersonId = 1001 }; context.GetTable< Auto >().InsertOnSubmit(auto); context.SubmitChanges(); // Обновление объекта auto.Model = "NEW MODEL"; context.SubmitChanges(); // Удаление объекта context.GetTable< Auto >().DeleteOnSubmit(auto); context.SubmitChanges(); } } }