Instrukcje: Wstawianie wierszy do bazy danych
Wiersze można wstawić do bazy danych, dodając obiekty do skojarzonej kolekcji LINQ to SQL Table<TEntity> , a następnie przesyłając zmiany do bazy danych. LINQ to SQL tłumaczy zmiany na odpowiednie polecenia SQL INSERT
.
Uwaga
Można zastąpić domyślne metody LINQ to SQL dla Insert
operacji , Update
i Delete
bazy danych. Aby uzyskać więcej informacji, zobacz Dostosowywanie operacji wstawiania, aktualizowania i usuwania.
Deweloperzy korzystający z programu Visual Studio mogą używać Projektant obiektowych do tworzenia procedur składowanych w tym samym celu.
W poniższych krokach przyjęto założenie, że prawidłowe DataContext połączenie z bazą danych Northwind. Aby uzyskać więcej informacji, zobacz Instrukcje: Połączenie do bazy danych.
Aby wstawić wiersz do bazy danych
Utwórz nowy obiekt zawierający dane kolumny do przesłania.
Dodaj nowy obiekt do kolekcji LINQ to SQL
Table
skojarzonej z tabelą docelową w bazie danych.Prześlij zmianę do bazy danych.
Przykład
Poniższy przykład kodu tworzy nowy obiekt typu Order
i wypełnia go odpowiednimi wartościami. Następnie dodaje nowy obiekt do kolekcji Order
. Na koniec przesyła zmianę do bazy danych jako nowy wiersz w Orders
tabeli.
// 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