c# - 如何正确使用 InsertAllOnSubmit() 是否比循环 InsertOnSubmit() 更好?

标签 c# linq-to-sql ienumerable

假设我有:

using (SomeDataContext db = new SomeDataContext())
{

     foreach(Item i in Items)
     {
          DbItem d = new DbItem;
          d.value = i.value;
          //.... etc ...

          db.InsertOnSubmit(d);
     }

     db.SubmitChanges();
}

是否有可能和/或更好(更糟?):

using (SomeDataContext db = new SomeDataContext())
{
     IEnumerable<DbItem> dbItems = //???? possible?

     foreach(Item i in Items)
     {
          DbItem d = new DbItem;
          d.value = i.value;
          //.... etc ...

          dbItems.Add(d); // ???? again, somehow possible?
     }

     db.InsertAllOnSubmit(dbItems);
     db.SubmitChanges();
}

最佳答案

你可以使用 List<T> :

using (SomeDataContext db = new SomeDataContext())
{
     List<DbItem> dbItems = new List<DbItem>();

     foreach(Item i in Items)
     {
          DbItem d = new DbItem;
          d.value = i.value;
          //.... etc ...

          dbItems.Add(d);
     }

     db.InsertAllOnSubmit(dbItems);
     db.SubmitChanges();
}

这是否会更有效率,我不知道。

关于c# - 如何正确使用 InsertAllOnSubmit() 是否比循环 InsertOnSubmit() 更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8233275/

相关文章:

c# - 如何在条件下使用 RemoveAll 删除列表中的多个项目?

c# - 按三个字段对 IEnumerable<type> 进行排序

IEnumerable 与 List 上的 C# foreach - 元素修改仅对数组持久 - 为什么?

c# - 如何从 C# 中的 "pure function"获得优化?

c# - 在 Controller asp.net-core v1.1.0 之外使用 Dependency Injection 进行应用程序设置

c# - 尝试实现主明细表时出错

c# - GUI 线程中的异常导致 vshost.exe 崩溃

c# - 如何查询查询结果集中所有字段的内容?

c# - 在 LINQ to SQL 连接中使用包含

c# - IEnumerable<> 到 IList<>