gpt4 book ai didi

c# - Entity Framework 代码优先,MySql 服务器无法运行迁移

转载 作者:行者123 更新时间:2023-11-29 02:11:48 26 4
gpt4 key购买 nike

我为迁移设置了两个配置,一个用于 SQL Server,另一个用于 MySql。现在未使用 SQL Server 迁移。现在我的问题是当我使用 Update-Database -ConfigurationTypeName InTouchEnterprise.Data.Repository.MySqlMigrations.Configuration -verbose 执行 Sql Server 迁移时。它给了我以下错误

Authentication to host 'localhost' for user 'test' using method 'mysql_native_password' failed with message: Access denied for user 'test'@'localhost' (using password: NO)

但是如果我运行该项目,它会成功连接到数据库并正确执行所有数据库操作。现在我不太清楚可能出了什么问题。

根据错误消息,它说我没有指定密码,但我在 web.config 中指定了密码。下面是我的连接字符串。

<add name="IdentityDB" providerName="MySql.Data.MySqlClient"
connectionString="server=localhost;port=3306;database=rtd;uid=test;password=*******" />

下面是配置类的代码:

internal sealed class Configuration : DbMigrationsConfiguration<InTouchEnterprise.Data.Repository.InTouchEnterpriseDbContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = false;
MigrationsDirectory = @"MySqlMigrations";

//for mysql
SetSqlGenerator("MySql.Data.MySqlClient", new MySql.Data.Entity.MySqlMigrationSqlGenerator());
}

protected override void Seed(InTouchEnterprise.Data.Repository.InTouchEnterpriseDbContext context)
{
}
}

最佳答案

我不知道确切的问题,但是当我将 web.config 中的连接字符串中的持久安全信息添加为 true 时,它​​又开始工作了。这是我更新的连接字符串。

<add name="IdentityDB" providerName="MySql.Data.MySqlClient" 
connectionString="server=localhost;port=3306;database=rtd;uid=root;password=*****;persistsecurityinfo=True" />

关于c# - Entity Framework 代码优先,MySql 服务器无法运行迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50341822/

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