方法 : 行をデータベースに挿入する (LINQ to SQL)

関連付けられた LINQ to SQL Table<TEntity> コレクションにオブジェクトを追加し、その変更内容をデータベースに送信することで、データベースに行を挿入できます。LINQ to SQL によって、変更内容が SQL の INSERT コマンドに適切に変換されます。

メモメモ

LINQ to SQL の Insert、Update、および Delete の既定のデータベース操作メソッドはオーバーライドできます。詳細については、「挿入、更新、および削除の各操作のカスタマイズ (LINQ to SQL)」を参照してください。

Visual Studio を使用している開発者は、オブジェクト リレーショナル デザイナーを使用して、同じ用途のストアド プロシージャを開発できます。詳細については オブジェクト リレーショナル デザイナ (O/R デザイナ) および オブジェクト リレーショナル デザイナー (O/R デザイナー) および オブジェクト リレーショナル デザイナー (O/R デザイナー).

以下の手順では、有効な DataContext で Northwind データベースに接続されるものと想定しています。 詳細については、「方法 : データベースに接続する (LINQ to SQL)」を参照してください。

行をデータベースに挿入するには

  1. 送信する列データを含む新しいオブジェクトを作成します。

  2. データベース内の挿入先テーブルに関連付けられた LINQ to SQL Table コレクションに新しいオブジェクトを追加します。

  3. データベースに変更内容を送信します。

使用例

次のサンプル コードでは、Order 型の新しいオブジェクトを作成し、適切な値をこのオブジェクトに設定します。 その後で、新しいオブジェクトを Order コレクションに追加します。 最後にこの変更内容を Orders テーブルの新しい行としてデータベースに送信します。

' 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
// 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();
}

参照

処理手順

方法 : 更新、挿入、および削除を実行するストアド プロシージャを割り当てる (O/R デザイナー)

概念

DataContext メソッド (O/R デザイナー)

その他の技術情報

方法 : 変更の競合を管理する (LINQ to SQL)

データの変更と変更の送信 (LINQ to SQL)