Web Api 2.2 – 类库项目中的代码优先迁移
我在myVS 2015解决方案中有两个项目。
-
项目A.
- Web Api 2.2项目
- 主项目,其中定义了DBContext类和连接字符串(在web.config文件中)
-
项目B.
- class级图书馆计划
- 项目A作为参考添加
- 模型和控制器定义
- 模型inheritance了一个Project A类
- 创建了一个DBContext类,它从项目AinheritanceDBContext。
- public DbSet Planets {get; 组; }
我对上述项目结构背后的想法是:
-
在项目变大时降低复杂性
-
使其不那么复杂并增加可读性
-
在项目A中制作身份validation和授权逻辑
我必须在项目B中实现以下内容:
- 需要从项目A共享/访问连接字符串
- 需要先运行代码迁移。
- 需要知道在将应用程序部署到prod时如何运行代码首次迁移?
问题:
我已启用代码首次迁移并更新了数据库。 我运行没有任何问题,但它没有运行在项目A的web.config中配置的数据库。相反,它添加自己的本地数据库。
我是否应该在项目B中指定连接字符串。 如果是,作为一个类库,我该如何添加配置文件?
您需要在App.Config中指定连接字符串,然后在DbContext的构造函数中给出连接字符串的名称。
public ApplicationContext() : Base('ConnectionString')
您还需要在App.Config中将defaultConnectionFactory从LocalDbConnectionFactory更改为SQLConnectionDbFactory。
- 将自定义查询支持的导航属性添加到ODataConventionModelBuilder
- Api Controller具有无参数的公共构造函数错误
- 如何在JSON输出上强制ISO格式“YYYY-MM-DDThh:mm:ss.sss”?
- 来自URI的Web API ModelBinding
- DB-First与ASP.NET Web API 2 + EF6的身份validation混淆
- 在Entity Framework支持的Web API 2 POST调用中返回一个对象以及409 Conflict错误?
- 使用Web API 2进行Autofac – 无参数构造函数错误
- Web Api Controller在其他项目中,路由属性不起作用
- 自定义MultipartFormDataStreamProvider上传后,通过WebApi从SQL下载大文件