2012-09-13 55 views
0

我製作了一個新的asp.net mvc4應用程序,然後安裝了miniprofiler。首先剖析asp.net mvc4代碼

然後我剛剛啓用遷移和添加遷移後,我更新了我的數據庫。

使用miniprofiler我發現有3個sql查詢,我不知道他們。

我不知道這個初始化發生

InitializeDatabase <PerformDatabaseInitialization>b__6 PerformInitializationAction PerformDatabaseInitialization 

這裏是miniprofiler miniprofiler

這些是什麼3個SQL查詢的照片嗎?他們來自哪裏?

回答

0

這是EF Migrations檢查數據庫是否與EF模型相同。每當您運行遷移時,EF都會在[__MigrationHistory]表中存儲遷移的詳細信息,以便知道是否需要運行遷移。

  • 我不是太肯定第一個查詢,但我認爲這是檢查是否使用EF(這是在看堆棧跟蹤猜測)所產生的分貝任何 表。

  • 第二個查詢只是返回遷移次數。

  • 最終查詢得到最新的遷移,然後將 與EF模型進行比較。如果模型與數據庫不同,則會導致數據庫過期。

由於遷移檢查僅在每次應用程序啓動時運行一次,因此您不必擔心這些問題。

如果你想要更多關於db初始器的信息,請看this