Web Api 2.2 - Class 库项目中的代码优先迁移
Web Api 2.2 - Code First Migration in Class Library Project
我在 myVS 2015 解决方案中有两个项目。
项目 A
- Web Api 2.2 项目
- 定义了 DBContext class 和连接字符串(在 web.config 文件中)的主项目
项目 B
- Class 图书馆项目
- 项目A添加为参考
- 模型和控制器定义
- Models 继承了项目 Aclass
- 创建了一个从项目 A 继承 DBContext 的 DBContext class。
- public DbSet Planets { get;放; }
以上项目结构背后我的想法是:
为了在项目变大时降低复杂度
让它不那么复杂并增加可读性
在项目 A 中制作身份验证和授权逻辑
我必须在项目 B 中实现以下目标:
- 需要 share/access 来自项目 A 的连接字符串
- 需要运行 编码第一次迁移。
- 需要知道如何 运行 在将应用程序部署到产品时首先迁移代码?
问题:
我启用了代码优先迁移并更新了数据库。
我 运行ning 没有任何问题,但它不是针对项目 A web.config 中配置的数据库 运行ning。相反,它添加了自己的本地数据库。
我是否也应该在项目 B 中指定连接字符串。如果是,作为一个 class 库,我该如何添加配置文件?
你需要在App.Config中指定你的连接字符串,然后在DbContext的Constructor中给出连接字符串的名称。
public ApplicationContext() : Base('ConnectionString')
您还需要在 App.Config 中将 defaultConnectionFactory 从 LocalDbConnectionFactory 更改为 SQLConnectionDbFactory。
我在 myVS 2015 解决方案中有两个项目。
项目 A
- Web Api 2.2 项目
- 定义了 DBContext class 和连接字符串(在 web.config 文件中)的主项目
项目 B
- Class 图书馆项目
- 项目A添加为参考
- 模型和控制器定义
- Models 继承了项目 Aclass
- 创建了一个从项目 A 继承 DBContext 的 DBContext class。
- public DbSet Planets { get;放; }
以上项目结构背后我的想法是:
为了在项目变大时降低复杂度
让它不那么复杂并增加可读性
在项目 A 中制作身份验证和授权逻辑
我必须在项目 B 中实现以下目标:
- 需要 share/access 来自项目 A 的连接字符串
- 需要运行 编码第一次迁移。
- 需要知道如何 运行 在将应用程序部署到产品时首先迁移代码?
问题:
我启用了代码优先迁移并更新了数据库。 我 运行ning 没有任何问题,但它不是针对项目 A web.config 中配置的数据库 运行ning。相反,它添加了自己的本地数据库。
我是否也应该在项目 B 中指定连接字符串。如果是,作为一个 class 库,我该如何添加配置文件?
你需要在App.Config中指定你的连接字符串,然后在DbContext的Constructor中给出连接字符串的名称。
public ApplicationContext() : Base('ConnectionString')
您还需要在 App.Config 中将 defaultConnectionFactory 从 LocalDbConnectionFactory 更改为 SQLConnectionDbFactory。