【发布时间】:2021-04-17 07:35:00
【问题描述】:
最近开始使用 Docker 映像,我的主要问题是虽然我的 docker-compose 可以启动 api 和我需要的数据库,但它缺少的是我的 API 项目中的实体的数据库的实际方案获取数据时寻找。
所以我已经有一个DbContext,所有的实体,我终其一生都无法弄清楚如何根据我的 API 项目中已经存在的上下文在 SQL Server 映像中构建数据库。
docker-compose 参考文件:
networks:
event_localhost:
services:
api:
build:
context: ..
dockerfile: .docker/Dockerfile
image: spc-eventapi
depends_on:
- db
ports:
- 8000:80
networks:
- event_localhost
environment:
ConnectionStrings__EventDb: 'Server=db,1433;Database=master;User Id=sa;Password=Pass@word;'
db:
image: mcr.microsoft.com/mssql/server
networks:
- event_localhost
environment:
SA_PASSWORD: 'Pass@word'
ACCEPT_EULA: "Y"
ports:
- "1433:1433"
version: '3.9'
【问题讨论】:
-
SQL Server 数据库是一个 MDF 文件。在 Net 库中,mdf 文件可以安装在 sql 服务器上,也可以不安装在服务器上。本地主机通常意味着未安装。您可以使用 SQL Sever Management Studio 构建安装在服务器上的数据库,并使用 SSMS 资源管理器创建数据库/表/属性;或者用 VS 中的数据库菜单做类似的事情。
-
您在 EF 中使用的是 Code First 还是 Database First?如果它是 Code First,您应该能够将其指向一个空数据库,并且它将运行迁移以创建表模式和种子,以便为您填充初始数据。 DB容器只需要创建一个空数据库供EF使用。
-
@AlwaysLearning 我首先搭建了实体代码。如果我可以将迁移运行到旋转的数据库,那就太棒了,但我实际上并不完全确定如何开始做这样的事情,实际上
标签: c# sql-server docker entity-framework yaml