Как вставлять строки в базу данных (LINQ to SQL)

Строки в базу данных можно вставить, добавив объекты в связанные коллекции LINQ to SQL Table<TEntity> и затем отправив эти изменения в базу данных. LINQ to SQL преобразует изменения в соответствующие команды SQL INSERT.

ПримечаниеПримечание

Можно переопределить методы LINQ to SQL, используемые по умолчанию для операций Insert, Update и Delete базы данных.Дополнительные сведения см. в разделе Настройка операций вставки, обновления и удаления (LINQ to SQL).

Пользователи среды Visual Studio могут воспользоваться Реляционный конструктор объектов для разработки хранимых процедур, выполняющих те же задачи.Дополнительные сведения см. в следующем разделе. Реляционный конструктор объектов и Реляционный конструктор объектов и Реляционный конструктор объектов.

В следующих шагах предполагается, что подключение к базе данных Northwind выполняется с помощью допустимого объекта DataContext. Дополнительные сведения см. в разделе Как соединиться с базой данных (LINQ to SQL).

Вставка строки в базу данных

  1. Создайте новый объект, содержащий столбец данных для отправки.

  2. Добавьте новый объект в коллекцию Table LINQ to SQL, связанную с целевой таблицей в базе данных.

  3. Отправьте изменение в базу данных.

Пример

В следующем примере кода создается новый объект с типом Order и заполняется соответствующими значениями. Затем новый объект добавляется в коллекцию Order. И наконец, изменение отправляется в базу данных в виде новой строки в таблицеOrders.

' Create a new Order object.
Dim ord As New Order With _
{.OrderID = 12000, _
 .ShipCity = "Seattle", _
 .OrderDate = DateTime.Now}

' Add the new object to the Orders collection.
db.Orders.InsertOnSubmit(ord)

' Submit the change to the database.
Try
    db.SubmitChanges()
Catch e As Exception
    Console.WriteLine(e)
    ' Make some adjustments.
    ' ...
    ' Try again.
    db.SubmitChanges()
End Try
// Create a new Order object.
Order ord = new Order
{
    OrderID = 12000,
    ShipCity = "Seattle",
    OrderDate = DateTime.Now
    // …
};

// Add the new object to the Orders collection.
db.Orders.InsertOnSubmit(ord);

// Submit the change to the database.
try
{
    db.SubmitChanges();
}
catch (Exception e)
{
    Console.WriteLine(e);
    // Make some adjustments.
    // ...
    // Try again.
    db.SubmitChanges();
}

См. также

Задачи

Как назначить хранимые процедуры для выполнения обновлений, вставок и удалений (реляционный конструктор объектов)

Основные понятия

Методы DataContext (реляционный конструктор объектов)

Другие ресурсы

Как управлять конфликтами изменений (LINQ to SQL)

Внесение и отправка изменений данных (LINQ to SQL)