1

我在myVS 2015解决方案中有两个项目。Web Api 2.2 - 类库项目中的代码优先迁移

  1. 项目A

    • 网络API 2.2项目
    • 主项目,其中的DbContext类和连接字符串(在web.config文件)被定义
  2. 项目B

    • 类库项目
    • 项目A添加作为参考
    • 模型&控制器定义
    • 模型继承的类项目A的
    • 创建一个的DbContext类从项目A.继承的DbContext
    • public DbSet Planets {get;组; }

我的上述项目结构背后的想法是:

  1. 为了降低复杂性,当项目规模增大

  2. 为了使它不那么复杂&增加可读性

  3. To m在项目A AKE认证&授权逻辑

我必须实现项目B以下的事情:

  1. 需要从项目共享/接入连接字符串
  2. 需要运行代码第一次迁移。
  3. 需要知道如何在将应用程序部署到产品时运行代码第一次迁移?

问题:

我已经启用代码首先迁移和更新数据库。 我没有任何问题运行,但没有针对在项目A的web.config中配置的数据库运行。相反,它添加了它自己的本地数据库。

我是否也应该在工程B中指定连接字符串。如果是的话,作为一个类库,我如何添加一个配置文件?

回答

1

您需要在App中指定连接字符串。配置,然后在DbContext的Constructor中给出连接字符串的名称就像这样。

public ApplicationContext() : Base('ConnectionString') 

你也需要从LocalDbConnectionFactory您defaultConnectionFactory改变SQLConnectionDbFactory在App.Config中。