Como: inserir linhas no banco de dados
Insira linhas em um banco de dados adicionando objetos à coleção Table<TEntity> associada do LINQ to SQL e enviando as alterações ao banco de dados. O LINQ to SQL converte suas alterações nos comandos SQL INSERT
apropriados.
Observação
É possível substituir os métodos padrão do LINQ to SQL para operações de banco de dados Insert
, Update
e Delete
. Para obter mais informações, consulte Personalizar Operações de Inserção, Atualização e Exclusão.
Desenvolvedores que utilizam o Visual Studio podem usar o Object Relational Designer para desenvolver procedimentos armazenados para a mesma finalidade.
As etapas a seguir presumem que um DataContext válido conecta você ao banco de dados Northwind. Para obter mais informações, consulte Como: Conectar um Banco de Dados.
Para inserir uma linha no banco de dados
Crie um novo objeto que inclui os dados da coluna a serem enviados.
Adicione o novo objeto à coleção
Table
do LINQ to SQL associada à tabela de destino no banco de dados.Envie a alteração para o banco de dados.
Exemplo
O exemplo de código a seguir cria um novo objeto do tipo Order
e preenche-o com valores apropriados. Ele em seguida adiciona o novo objeto à coleção Order
. Finalmente, ele envia a alteração para o banco de dados como uma nova linha na tabela 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