c# - 使用 linq-to-sql 插入对象列表

标签 c# linq-to-sql

我有一个对象列表,要使用 linq-to-sql 将其插入到数据库中。 目前,我使用的是添加每个元素的 foreach 循环,大致如下所示:

foreach (o in List<MyObjectModel)
{
  using MyDataContext
  {
     TheLinqToSqlTableModel TheTable = new TheLinqToSqlTableModel();

     TheTable.Fieldname = o.Fieldname;
     .... repeat for each field

     MyDataContext.TheTablename.InsertOnSubmit(TheTable);
     MyDataContext.SubmitChanges();

  }
}

有没有更好的方法使用 linq-to-sql 在数据库中插入对象列表?

感谢您的建议。

最佳答案

为什么不使用 InsertAllOnSubmit() 方法。

示例:

IEnumerable<Post> _post = getAllNewPost();

 Using(Datacontext dc = new Datacontext())
    {
        dc.Posts.InsertAllOnSubmit(_post);
        dc.SubmitChanges();
     }

这就是您所需要的。

//////////////////////

关于c# - 使用 linq-to-sql 插入对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9096767/

相关文章:

performance - 从多个表中删除(linq 到 sql)

C# 使用 ILnumerics 在 3d 中绘图

sql - 5 秒 SP 通过 LINQ-to SQL 达到 30 秒超时

c# - 如何更改默认的 OrderBy 功能,以便它首先按给定值排序?

c# - 在 Enter 事件中设置焦点的替代方法

linq-to-sql - 与旧版 SQL Insert 语句相比,LINQ Insertonsubmit 非常慢

c# - LINQ to SQL where 子句验证字符串包含列表元素

c# - 如何判断当前输入的语言?

c# - 从西里尔字母到拉丁字母的音译

c# - 无法在 .NET SignalR 客户端 HubConnection(dotnet 核心/signalr 2.2)上设置连接超时