簡體   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