gpt4 book ai didi

mysql - 首先将 EF 代码写入 Azure Linux VM 上托管的 MySQL 数据库

转载 作者:行者123 更新时间:2023-11-29 23:14:33 25 4
gpt4 key购买 nike

我有一个托管在 CentOS 7 上的 MySQL 服务器,在 Azure 中作为 VM 运行。我已在此虚拟机上打开端口 3306,并且可以连接到此 MySQL 服务器以从 MySQL 工作台创建数据库和表

现在我尝试使用 nuget 上的 MySQL.Data.Entity 包在此 MySQL 服务器上使用 EF6 和 C# 创建代码优先数据库。我得到的MySQL.Data dll的版本是6.9.5.0。当我尝试运行 add-migration 命令时,出现以下错误。

System.Runtime.Serialization.SerializationException: Type is not resolved for member     'MySql.Data.MySqlClient.MySqlException,MySql.Data, Version=6.9.5.0, Culture=neutral,    PublicKeyToken=c5687fc88969c44d'.
at System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate)
at System.Data.Entity.Migrations.Design.ToolingFacade.Run(BaseRunner runner)
at System.Data.Entity.Migrations.Design.ToolingFacade.Scaffold(String migrationName, String language, String rootNamespace, Boolean ignoreChanges)
at System.Data.Entity.Migrations.AddMigrationCommand.Execute(String name, Boolean force, Boolean ignoreChanges)
at System.Data.Entity.Migrations.AddMigrationCommand.<>c__DisplayClass2.<.ctor>b__0()
at System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action command)
Type is not resolved for member 'MySql.Data.MySqlClient.MySqlException,MySql.Data, Version=6.9.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d'.
然而,当我尝试连接到我的共享网络托管提供商上的 MySQL 服务器时,这工作正常,我被告知该服务器在 Windows 服务器上运行。

这是一个已知问题吗?我们是否无法使用 EF 连接到 Linux 上托管的 MySQL 数据库。我将不胜感激任何指点

更新1

我忽略了一点,即 MySQL 连接器不是 .NET 框架的一部分,因此没有安装在 GAC 中,如下面这篇文章所述

http://forums.mysql.com/read.php?38,593463,599082#msg-599082

显然,包管理器会在 GAC 中查找已知类型,但似乎找不到 MySql.Data。当 MySQL.Data.dll 添加到 GAC (\Windows\Microsoft.NET\Framework\v4.0.30319) 时执行添加迁移时,该错误消失,但在更新数据库上重新出现。

更新2

尝试使用 C# 代码和 MySqlCommand 创建数据库,它似乎在同一个项目中完美运行。因此,它似乎无法使用包管理器中的代码优先命令,并且问题似乎不在于 Azure 上的 MySQL。

最佳答案

我错过了显而易见的事情,这是一个小学生的错误。我没有该属性

[DbConfigurationType(typeof(MySqlEFConfiguration))]

在我的 DbContext 类上。奇怪的是,包含详细标志并没有给出任何有关错误的提示

关于mysql - 首先将 EF 代码写入 Azure Linux VM 上托管的 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27911212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com