我即将开始一个新项目,我想使用实体框架代码优先迁移;即,用代码编写数据库并为我自动生成它并更新架构等。
但是,我的绊脚石是我有一个需要导入的查找表,并且有超过 200 万条记录(这是一个邮政编码查找表)。
我的问题是,您如何在 Entity Framework Code First 迁移中处理如此庞大的预填充查找表?
我即将开始一个新项目,我想使用实体框架代码优先迁移;即,用代码编写数据库并为我自动生成它并更新架构等。
但是,我的绊脚石是我有一个需要导入的查找表,并且有超过 200 万条记录(这是一个邮政编码查找表)。
我的问题是,您如何在 Entity Framework Code First 迁移中处理如此庞大的预填充查找表?
您的迁移实际上不必删除/重新创建整个表(除非您指定它应该这样做,否则不会)。通常,迁移只是执行 Up/Down 方法来使用附加列等更改表。
你真的需要放下桌子吗?如果是这样,你真的需要从 EF 播种吗?执行 200 万次插入的 EF 成本将是惊人的,因此,如果您可以通过更高效的手动步骤(将使用批量插入)来执行此操作,那将是非常可取的。
如果我必须进行那么多插入,我可能会将其分解为 SQL 文件并执行类似于此处提到的操作:EF 5 Code First Migration Bulk SQL Data Seeding