如何在不使用for循环的情况下多次插入同一条记录,因为它要花很多时间,我想一次插入10lack记录
for (int i = 0; i < 1000; i++)
{
List<student> students = new List<student>
{
new Student{student_id = i,Name= "new"}
};
db.Set<Student>().AddRange(students);
db.SaveChanges();
}
上面的代码需要花费大量时间来插入10lack记录。是否可以在不使用for循环的情况下多次插入具有不同student_id的相同名称?
答案 0 :(得分:1)
您是否尝试在循环后调用SaveChanges()? 另外,我建议将学生ID设置为自动生成的密钥,并直接向每个学生添加带有添加项的学生,而不是直接向列表添加添加范围的人。
答案 1 :(得分:0)
您需要将数据库代码移出循环:
//Declare the list object here
List<Student> students = new List<Student>();
for (int i = 0; i < 1000; i++)
{
students.Add(new Student{student_id = i,Name= "new"});
}
db.Set<Student>().AddRange(students);
db.SaveChanges(); //Save changes to DB