方法: 行をデータベースに挿入する
関連付けられた LINQ to SQL の Table<TEntity> コレクションにオブジェクトを追加し、その変更内容をデータベースに送信することで、データベースに行を挿入できます。 LINQ to SQL によって、変更内容が適切な SQL の INSERT
コマンドに変換されます。
Note
LINQ to SQL の Insert
、Update
、および Delete
の既定のデータベース操作メソッドはオーバーライドできます。 詳細については、「挿入、更新、および削除の各操作のカスタマイズ」を参照してください。
Visual Studio を使用している開発者は、オブジェクト リレーショナル デザイナーを使用して、同じ用途のストアド プロシージャを開発できます。
以下の手順では、有効な DataContext で Northwind データベースに接続されるものと想定しています。 詳細については、データベースに接続する」を参照してください。
行をデータベースに挿入するには
送信する列データを含む新しいオブジェクトを作成します。
データベース内の挿入先テーブルに関連付けられた 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