5 c# entity-framework-core asp.net-core
我使用了多个示例来了解如何设置 MySql 服务,但几乎每个示例(包括 Microsoft)都使用硬编码连接字符串。
这是我的启动:
services.AddDbContext<DbContext>(options =>
{
options.UseMySql(configuration.GetConnectionString("DefaultConnection"),
mysqlOptions =>
{
mysqlOptions.ServerVersion(new ServerVersion(new Version(8, 0, 18)));
});
});
Run Code Online (Sandbox Code Playgroud)
每当我尝试这样做时,Update-Database我都会看到一条错误消息,告诉我没有设置密码
MySql.Data.MySqlClient.MySqlException(0x80004005):用户“root”@“localhost”的访问被拒绝(使用密码:YES)。
环顾四周后,我发现了一个名为 的可重写方法OnConfiguring,但我想以动态方式设置连接字符串,因为如果我更改环境,我希望该字符串也更改。
在这里,我找到了几乎所有带有硬编码字符串的示例(例如https://dev.mysql.com/doc/connector-net/en/connector-net-entityframework-core.html)
在配置文件中,您应该有一个 ConnectionStrings 指向您的数据库以及其他选项。
"ConnectionStrings": {
"DefaultConnection": "server=127.0.0.1;uid=root;pwd=12345;database=test"
},
Run Code Online (Sandbox Code Playgroud)
当您使用configuration.GetConnectionString时,您正在从配置部分查找值。
| 归档时间: |
|
| 查看次数: |
9846 次 |
| 最近记录: |