Postupy: Vložení řádků do databáze
Řádky vložíte do databáze přidáním objektů do přidružené kolekce LINQ to SQL Table<TEntity> a následným odesláním změn do databáze. LINQ to SQL přeloží změny do příslušných příkazů SQL INSERT
.
Poznámka:
Můžete přepsat výchozí metody LINQ to SQL pro Insert
Update
, a Delete
databázové operace. Další informace naleznete v tématu Přizpůsobení operací vložení, aktualizace a odstranění.
Vývojáři používající Sadu Visual Studio můžou použít Návrhář relací objektů k vývoji uložených procedur pro stejný účel.
Následující kroky předpokládají, že vás platný DataContext připojí k databázi Northwind. Další informace naleznete v tématu Postupy: Připojení do databáze.
Vložení řádku do databáze
Vytvořte nový objekt, který obsahuje data sloupce, která se mají odeslat.
Přidejte nový objekt do kolekce LINQ to SQL
Table
přidružené k cílové tabulce v databázi.Odešlete změnu do databáze.
Příklad
Následující příklad kódu vytvoří nový objekt typu Order
a naplní ho příslušnými hodnotami. Potom přidá nový objekt do Order
kolekce. Nakonec odešle změnu do databáze jako nový řádek v Orders
tabulce.
// 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