我使用了多个示例来了解如何设置 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)
System.BadImageFormatException:“无法加载文件或程序集“mongocrypt”或其依赖项之一。该模块预计包含一个程序集清单。
我有一个运行 Hangfire 1.7.5 和 MongoDB 2.9.1.0 的项目。该项目用作后端引擎来执行各种类型的工作。
为了创建外部系统调用该引擎的端点,我们有另一个项目,它使用相同版本的 Hangfire 和 MongoDB 来连接并传入作业进行处理。
我在所有使用这些 dll 的项目中分别将 Hangfire 和 Mongo 升级到最新版本,1.7.9 和 2.10.1.0。使用 Visual Studio,当我运行 Web 项目时,我不断收到上述错误。在 ASP.Net 站点加载并允许我访问我需要的任何内容之前,我收到了大约 4 到 5 次这些信息,包括通过 MongoDB 访问的数据。只是一个不便,但在加载项目时仍然是一个异常。
我知道 CPU 的体系结构可能会导致 System.BadImageFormatException,但在这个意义上没有任何改变。我正在 .net 4.6.1 上运行所有内容,并且所有内容都继续在 AnyCPU 配置上运行。如果我将所有这些项目更改为 x64 或 x86,其中一件事就会停止工作。无论 CPU 架构如何,mongocrypt 错误都会继续发生。
我在 google 或 SO 上找不到有关 mongocrypt 的任何内容。有任何想法吗?