使用EF6 DbFirst将项目插入两个表的有效方法

时间:2015-01-21 07:20:56

标签: c# performance entity-framework bulkinsert

我有两张桌子,eq。 用户(UserID,CompanyID,名称,...)和公司(CompanyID,名称,...)。我必须处理XML导入数据,这会在每个表中生成大量数据项。在(新)用户引用新公司时的xml文件中 - 也必须插入公司项目。当xml中的用户(或公司)项包含已更改的数据时 - 必须更新数据库中的项。

使用EF6创建和更新项目非常简单 - 但SubmitChanges()需要很长时间。我正在搜索google和stackoverflow并找到了几个类似的主题 - 使用 datacontext 批量插入项。它们很有用,但在我的情况下,当我批量插入新公司时 - 它的ID对我来说是未知的,所以我也不能批量插入用户项目。哪个是解决这个问题的好方法?

  • 首先收集所有新公司项目,批量插入,回读所有内容 信息和ID? (或者我怎么知道这些新的公司项目的ID)
  • 然后批量插入所有用户项

我的第二个问题:是否有一种通用的方法为EF6类的批量插入生成数据表结构?我可以使用DB First表类编写通用批量插入方法吗?

0 个答案:

没有答案