如何:向数据库中插入行 (LINQ to SQL)

向数据库中插入行的方法为:将对象添加到关联的 LINQ to SQL Table<TEntity> 集合中,然后将所做的更改提交至数据库。LINQ to SQL 会将您所做的更改转换成相应的 SQL INSERT 命令。

注意注意

您可以重写 Insert、Update 和 Delete 数据库操作的 LINQ to SQL 默认方法。有关更多信息,请参见自定义插入、更新和删除操作 (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)