EF BulkInsert随机插入数千条记录

时间:2016-08-18 23:48:48

标签: c# asp.net-mvc entity-framework bulkinsert ef-bulkinsert

我有一个MVC app / api,它接受来自AngularJs应用程序的JSON请求。该请求包含:Lead属性,VisitorID(Guid)和一系列学校。对于学校的集合,我生成的任务将每个学校提交给它的适当目的地并返回一个SubmissionEvent对象。我在任务集合上调用Task.WhenAll()来并行运行它们,当它完成时我将SubmissionEvents集合压缩成一个数组。然后我将它们BulkInsert到我的数据库中。十分简单。一切正常。

前端角度应用程序的工作方式,一次不应提交3所学校,因此BulkInsert不应一次插入3所以上的学校。

随机地,只有在生产环境中,BulkInsert有时会插入数千个(一点20k)记录,所有记录都具有相同的信息。插入时的主键自动递增,以及时间戳。

                using (var scope = new TransactionScope())
                {
                    // BulkInsert submissionEvents.
                    var options = new BulkInsertOptions { EnableStreaming = true, };

                    if (submissionEvents != null && submissionEvents.Count() > 0)
                        db.BulkInsert(submissionEvents, options);

                    scope.Complete();
                }

这是怎么回事?如何解决?

0 个答案:

没有答案