我有一个班级,我拿一个列表,通过几个 lambda 传递它,通过几个列表,最后编译成一个“List_To_Save”。
public void Save_All(List<My_EF_SQL_Table> List_To_Save)
{
using (var Context = new MySQLDBNAME())
{
//Context.My_EF_SQL_Table.AddRange(List_To_Save);
//Context.SaveChanges();
Context.BulkInsertAll(List_To_Save);
Console.WriteLine("Saving Complete");
}
}
问题是,如果我执行添加范围选项,它会保存,但 bulkinsertall 不会。令人费解的部分是我在其他班级一直这样做,完全相同的方式。这应该有效,但它过去了,没有错误,但不保存。该数据几乎是 400 万条记录,因此添加范围。保存更改并不是一个真正的选择。
什么可能导致这个问题?
我尝试在 Nuget 中使用 Tanneryd.BulkOperations.EF6 卸载和重新安装。我已经通过其他方法传递了其他项目,并且基本代码有效,但在这种情况下,它只是不会。
应该说,基本上我在开始时拉入整个表,通过几个 lambda 运行它,但最后,我做了一个 AddRange 将它们全部添加回“List_To_Save”中,所有列都具有完全相同的列并模仿我的基本 SQL 表。
我在列中为每条记录添加一个值,并且我提前将其清空,因此当我在运行代码后运行它时,对于该列,我仍然只得到空值,并且原始计数保持不变相同的。当我执行 AddRange 方法时,此测试有效并添加了记录。
我们需要使用 AddRange 编写插入近 1,00,000 条记录的机制
问候, TRM