簡體   English   中英

LocalDb的代碼優先遷移和DataDirectory

[英]Code-First Migrations and DataDirectory for LocalDb

看起來命令“ Update-Database”使用默認項目的目錄作為AppDomain而不是啟動項目的目錄。

我有一個單獨的類庫項目,其中包含與數據庫訪問有關的所有內容,包括模型和遷移,我們稱之為Project.Data 該項目的單元測試之一要求我在LocalDb上運行它。 因此,我在單元測試的app.config中創建了一個連接字符串。

Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\MyDb.mdf;Initial Catalog=MyDb;Integrated Security=True

但是當我運行命令“ Update-Database”時,DataDirectory的值為null。 而且在這里使用AppDomain的工作目錄有點不可靠。

當模型和遷移相關代碼位於單獨的類庫中時,如何在運行“更新數據庫”時使用單元測試的工作目錄?

我認為您必須在執行update-database命令時使用ProjectNameStartUpProjectName參數。


有關更多詳細信息,請參見此處: update-database命令參考

Update-Database [-SourceMigration <String>] [-TargetMigration <String>] [-Script] [-Force] 
  [-ProjectName <String>] [-StartUpProjectName <String>] [-ConfigurationTypeName <String>] 
  -ConnectionString <String> -ConnectionProviderName <String> 
  [-AppDomainBaseDirectory <String>] [<CommonParameters>]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM