c#-具有ef核心迁移功能的.net core 2与docker正在开发中
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c#-具有ef核心迁移功能的.net core 2与docker正在开发中,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1692字,纯文字阅读大概需要3分钟。
内容图文
我正在开发一个新项目,该项目将在一个容器中进行托管,因此我想在整个过程中与docker一起开发.但是,似乎从命令行运行的实体框架迁移并不了解正在运行的数据库服务.
我的连接字符串:
"DefaultConnection": "Server=db;Database=Site;User=sa;Password=pwd;"
我的泊坞窗撰写:
version: '3'
services:
db:
image: microsoft/mssql-server-windows-express
environment:
sa_password: "pwd"
ACCEPT_EULA: "Y"
networks:
- testnetwork
site:
image: site
build:
context: .
dockerfile: Site\Dockerfile
environment:
- "Data:SqlServerConnectionString=Server=db;Database=HSRDC;User Id=sa;Password=pwd;MultipleActiveResultSets=true;App=site"
environment:
- ASPNETCORE_ENVIRONMENT=Development
ports:
- "80"
networks:
- testnetwork
depends_on:
- db
networks:
testnetwork:
external:
name: nat
我的带有surecreated作品的启动:
public static void Initialize(CustomerDbContext context)
{
context.Database.EnsureCreated();
但是,在以后的开发中,我想过渡到迁移.当我尝试使用dotnet ef数据库更新错误更新数据库时:
System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible.
如果我检查容器并获取ip地址,然后更改连接字符串以包含IP,例如:
"DefaultConnection": "Server=172.20.159.97;Database=HSRDC;User=sa;Password=SFMasc32*;"
迁移将正常进行.
但是,这很笨拙,因为我需要运行以启动容器,然后停止并获取IP地址,然后使用IP修改它们的连接字符串,然后再次运行,然后通过CLI进行迁移.
我可以看到的选项是在撰写文件中指定IP地址,并在连接字符串中指定该IP的硬代码,但是在v3中,似乎无法指定IP address.
有没有一种方法可以使它与Visual Studio中的Docker进行开发并与迁移和Docker更加无缝地协作?
解决方法:
如果您的IP正常运行,但名称无效.然后尝试提供DBServer的全名,例如DBServer.domain.xyz
内容总结
以上是互联网集市为您收集整理的c#-具有ef核心迁移功能的.net core 2与docker正在开发中全部内容,希望文章能够帮你解决c#-具有ef核心迁移功能的.net core 2与docker正在开发中所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。