linq到SQL submitchangess()进度
-
14-10-2019 - |
题
我将LINQ用于SQLTO将旧DBF文件导入MSSQL。我正在阅读所有行,并使用它们添加到数据库中 ctx.MyTable.InsertOnSubmit(row)
阅读阶段完成后,我有大约100 000个未决插入物。ctx.SubmitChanges()
自然需要很长时间。
有什么方法可以跟踪 ctx.submitchanges()
?能 ctx.Log
以某种方式用于此目的?
更新: :可以使用 ctx.GetChangeSet().Inserts.Count
并使用日志跟踪插入语句?
分裂 ctx.SubmitChanges()
进入较小的块对我不起作用,因为我需要交易,全部或全无。
更新2:我找到了使用的不错的class actetextWriter,我将尝试计算插入。
更新3:
我已经构建了第一个代码原型,它没有优化。似乎正在工作:)
ctx.Log = new ActionTextWriter(s => {
counter += s.Split(' ').Count(w => w.ToUpper() == "INSERT");
ReportProgress(counter);
});
解决方案
我设法通过解析日志并使用ActionTextWriter获得了进度信息
ctx.Log = new ActionTextWriter(s => {
if (s.StartsWith("INSERT INTO"))
insertsCount++;
});
不隶属于 StackOverflow