首页 文章

Web Api 2.2 - 类库项目中的代码优先迁移

提问于
浏览
1

我在myVS 2015解决方案中有两个项目 .

  • Project A

  • Web Api 2.2项目

  • 主项目,其中定义了DBContext类和连接字符串(在web.config文件中)

  • Project B

  • class 图书馆计划

  • 项目A作为参考添加

  • 模型和控制器定义

  • Models继承了一个Project A类

  • 创建了一个DBContext类,它从项目A继承DBContext .

  • public DbSet Planets {get;组; }

My idea behind the above project structure is:

  • 在项目变大时降低复杂性

  • 使其不那么复杂并增加可读性

  • 在项目A中进行身份验证和授权逻辑

I have to achieve following thing in Project B:

  • 需要从项目A共享/访问连接字符串

  • 需要先运行代码迁移 .

  • 在将应用程序部署到prod时,需要知道如何运行代码首次迁移?

Problem:

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

我是否应该在项目B中指定连接字符串 . 如果是,作为一个类库,我该如何添加配置文件?

1 回答

  • 1

    您需要在App.Config中指定连接字符串,然后在DbContext的构造函数中给出连接字符串的名称 .

    public ApplicationContext() : Base('ConnectionString')
    

    您还需要在App.Config中将defaultConnectionFactory从LocalDbConnectionFactory更改为SQLConnectionDbFactory .

相关问题