快速将数千个多对多链接插入数据库



我正在做一个项目,其中我有以下场景:

销售代表 A 可以处理产品 1、2 和 3 的客户 x、y 和 z销售代表 B 可以处理产品 1、5 和 6 的 w、y 和 z 客户

为了处理上述问题,我有以下表格结构:

销售代表:一个表格,其中包含由 SRID 唯一标识的每个销售代表的详细信息产品:包含具有唯一键 PRID 的所有产品的表客户:带有唯一密钥 CID 的客户详细信息的表格

最后,我将它们与表格链接

RepProductCustomer:列 SRID、PRID 和 CID

通常一切正常,但是当与拥有大量产品,客户和销售代表的公司打交道时,行数变得非常大,并且使用实体框架添加需要很长时间。

添加这些条目的最有效方法是什么?我可以使用某种存储过程或 SQL 命令来加快速度吗?我已经尝试了各种 EF 优化,但在某些情况下要插入的数据太多,用户必须等待很长时间才能完成请求。

任何帮助将不胜感激。

遗憾的是,您尝试的 EF 优化将不起作用,因为方案中的实际问题是执行的数据库往返次数(每条记录一次(,这使得 SaveChanges 方法非常慢。

免责声明:我是项目实体框架扩展的所有者

批量保存

更改允许使用批量操作进行保存并减少数据库往返。

支持所有关联和继承。

// Upgrade SaveChanges performance with BulkSaveChanges
var context = new CustomerContext();
// ... context code ...
// Easy to use
context.BulkSaveChanges();
// Easy to customize
context.BulkSaveChanges(operation => operation.BatchSize = 1000);

最新更新