【问题标题】:Code-First Migrations and DataDirectory for LocalDbLocalDb 的代码优先迁移和 DataDirectory
【发布时间】:2016-01-12 07:13:20
【问题描述】:

看起来命令“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 的值为空。而且这里使用AppDomain的工作目录有点不靠谱。

当模型和迁移相关代码位于单独的类库中时,当我运行“更新数据库”时如何使用单元测试的工作目录?

【问题讨论】:

    标签: c# entity-framework ef-code-first localdb


    【解决方案1】:

    我认为你必须在执行 update-database 命令时使用ProjectName 或StartUpProjectName 参数。


    更多详情请看这里:update-database command reference

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

    【讨论】:

      猜你喜欢
      • 2016-03-18
      • 2016-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多