繁体   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