C# 存储实体集合而不遍历集合

C# 存储实体集合而不遍历集合,c#,entity-framework-4,ado.net,C#,Entity Framework 4,Ado.net,我想知道是否可以将记录插入到表中,而不必以这种方式迭代我的集合,以提高性能 using (DBEntities context = new DBEntities()) { foreach (var singular in plural) { context.EntitiDB.Add(singular); context.SaveChanges(); } } 您是否尝试过使用context.EntitiDB.AddRange(复数)?另外,

我想知道是否可以将记录插入到表中,而不必以这种方式迭代我的集合,以提高性能

using (DBEntities context = new DBEntities())
{
    foreach (var singular in plural)
    {
        context.EntitiDB.Add(singular);
        context.SaveChanges();
    }
}

您是否尝试过使用context.EntitiDB.AddRange(复数)?另外,我假设如果将context.SaveChanges()移到循环之外,则可以提高性能。

只需将SaveChanges()移到循环之外:

using (DBEntities context = new DBEntities())
{
    foreach (var singular in plural)
    {
        context.EntitiDB.Add(singular);
        context.SaveChanges();
    }
}
using (DBEntities context = new DBEntities())
        {
            foreach (var singular in plural)
            {
                context.EntitiDB.Add(singular); 
            }
            context.SaveChanges();
        }

什么是复数?它是一个与DB连接的对象,还是一个内存中的集合?复数是内存中的集合。如果我没有弄错的话,AddRange仅在EF6AddRange中引入。AddRange不显示为选项“context.EntitiDB”。保存和不保存外部更改,我尝试了它。关于PD。值得注意的是,“unique”与“EntitiDB”的类型相同。很抱歉,我没有看到它被标记为EF 4。显然,人在数据量上是个问题,为什么poque不能按照SoftwareFactor的建议运行,谢谢