它看起来像命令“更新-数据库”使用默认项目的目录作为AppDomain,而不是启动项目的。
我有一个单独的类库项目,它包含与数据库访问相关的所有内容,包括模型和迁移,我们称之为Project.Data。该项目的一个单元测试要求我在LocalDb上运行它。因此,我在单元测试的app.config中创建了一个连接字符串。
Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\MyDb.mdf;Initial Catalog=MyDb;Integrated Security=True但当我运行命令“Update”时,DataDirectory的值为null。在这里,使用AppDomain的工作目录有点不可靠。
当模型和迁移相关代码位于单独的类库中时,当我运行“更新-数据库”时,如何使用单元测试的工作目录?
发布于 2016-02-25 12:51:14
我认为在执行update-database命令时必须使用ProjectName或StartUpProjectName参数。
有关更多细节,请参见这里:更新-数据库命令引用
Update-Database [-SourceMigration <String>] [-TargetMigration <String>] [-Script] [-Force]
[-ProjectName <String>] [-StartUpProjectName <String>] [-ConfigurationTypeName <String>]
-ConnectionString <String> -ConnectionProviderName <String>
[-AppDomainBaseDirectory <String>] [<CommonParameters>]https://stackoverflow.com/questions/34737539
复制相似问题