繁体   English   中英

使用代码优先迁移进行批量插入以获取天蓝色

[英]Bulk insert using code first migrations for azure

我们有很多数据需要加载到许多表中。 据我所知,我们有两个选择:

  1. 将数据包括为Configuration类种子方法问题1.a的一部分。 这会很慢,并且需要编写很多C#代码)

  2. 将批量插入与代码优先迁移一起使用-更快而且可能是更好的解决方案。 问题2.a. 与其他作为种子的一部分加载到相同表中的数据一起使用可能会有些棘手。 2.b. 它要求打开“ SQL身份插入”。

什么是最好的解决方案,如果是2,如何进行代码优先迁移的批量插入,如何解决这些问题?

绕过EF并使用ADO.NET/SQL绝对是批量数据上传的好方法。 最好的方法取决于您是否要在迁移过程中插入数据,还是仅在应用程序启动时运行逻辑。

  • 如果您希望将其作为迁移的一部分插入(这可能会很不错,因为这样您就不必担心是否存在防御性检查数据等),那么可以使用Sql(string)方法执行执行以下操作的sql使用所需的任何格式和sql功能(包括打开/关闭IDENTITY_INSERT)。 在EF6.1中,还有一个重载,使您可以轻松地运行.sql文件,而不是将所有代码都存储为字符串。
  • 如果要在应用程序启动时执行此操作,则只需创建上下文实例,然后访问Database.Connection以获取原始SqlConnection并直接使用ADO.NET插入数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM