Практическое руководство. Вставка строк в базу данных
Вставляете строки в базу данных, добавляя объекты в связанную коллекцию LINQ to SQL Table<TEntity> , а затем отправляя изменения в базу данных. LINQ to SQL преобразует изменения в соответствующие команды SQL INSERT
.
Примечание.
Вы можете переопределить методы LINQ to SQL по умолчанию для Insert
операций с базами Update
данных и Delete
баз данных. Дополнительные сведения см. в разделе "Настройка операций вставки, обновления и удаления".
Разработчики с помощью Visual Studio могут использовать реляционный конструктор объектов для разработки хранимых процедур с той же целью.
В следующих шагах предполагается, что подключение к базе данных Northwind выполняется с помощью допустимого объекта DataContext. Дополнительные сведения см. в статье "Практическое руководство. Подключение в базу данных".
Вставка строки в базу данных
Создайте новый объект, содержащий столбец данных для отправки.
Добавьте новый объект в коллекцию LINQ to SQL
Table
, связанную с целевой таблицей в базе данных.Отправьте изменение в базу данных.
Пример
В следующем примере кода создается новый объект с типом Order
и заполняется соответствующими значениями. Затем новый объект добавляется в коллекцию Order
. И наконец, изменение отправляется в базу данных в виде новой строки в таблицеOrders
.
// 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();
}
' 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