1

我在myVS 2015解決方案中有兩個項目。Web Api 2.2 - 類庫項目中的代碼優先遷移

  1. 項目A

    • 網絡API 2.2項目
    • 主項目,其中的DbContext類和連接字符串(在web.config文件)被定義
  2. 項目B

    • 類庫項目
    • 項目A添加作爲參考
    • 模型&控制器定義
    • 模型繼承的類項目A的
    • 創建一個的DbContext類從項目A.繼承的DbContext
    • public DbSet Planets {get;組; }

我的上述項目結構背後的想法是:

  1. 爲了降低複雜性,當項目規模增大

  2. 爲了使它不那麼複雜&增加可讀性

  3. To m在項目A AKE認證&授權邏輯

我必須實現項目B以下的事情:

  1. 需要從項目共享/接入連接字符串
  2. 需要運行代碼第一次遷移。
  3. 需要知道如何在將應用程序部署到產品時運行代碼第一次遷移?

問題:

我已經啓用代碼首先遷移和更新數據庫。 我沒有任何問題運行,但沒有針對在項目A的web.config中配置的數據庫運行。相反,它添加了它自己的本地數據庫。

我是否也應該在工程B中指定連接字符串。如果是的話,作爲一個類庫,我如何添加一個配置文件?

回答

1

您需要在App中指定連接字符串。配置,然後在DbContext的Constructor中給出連接字符串的名稱就像這樣。

public ApplicationContext() : Base('ConnectionString') 

你也需要從LocalDbConnectionFactory您defaultConnectionFactory改變SQLConnectionDbFactory在App.Config中。