[英]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命令時使用ProjectName
或StartUpProjectName
參數。
有關更多詳細信息,請參見此處: 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.