InsertOnSubmit(T)

Указывает LINQ-провайдеру СУБД ЛИНТЕР выполнить SQL-команду добавления записи, которая соответствует указанному объекту.

Команда будет выполнена методом LinterDataContext.SubmitChanges().

Синтаксис
public void InsertOnSubmit(T objectToInsert);

objectToInsert – объект типа T, который необходимо сохранить.

Возвращаемое значение

Значение типа void.

Исключения
ArgumentNullException Параметр objectToInsert равен null.
Exception Объект objectToInsert уже отслеживается 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();
    }
  }
}