Asp.net core 不支持关键字:';用户ID';错误
我已经克隆了这个源代码()。我正在使用mysql和我的连接字符串Asp.net core 不支持关键字:';用户ID';错误,asp.net-core,.net-core,asp.net-core-mvc,Asp.net Core,.net Core,Asp.net Core Mvc,我已经克隆了这个源代码()。我正在使用mysql和我的连接字符串 "ConnectionStrings": { "DefaultConnection": "server=localhost;userid=root;pwd=root;port=3306;database=ddd;sslmode=none;" }, 在我的软件包管理器控制台中,命令addmigration FirstMigration成功,但是,updatedatabase将我抛出 System.ArgumentE
"ConnectionStrings": {
"DefaultConnection": "server=localhost;userid=root;pwd=root;port=3306;database=ddd;sslmode=none;"
},
在我的软件包管理器控制台中,命令addmigration FirstMigration
成功,但是,updatedatabase
将我抛出
System.ArgumentException: Keyword not supported: 'userid'.
at System.Data.Common.DbConnectionOptions.ParseInternal(Dictionary`2 parsetable, String connectionString, Boolean buildChain, Dictionary`2 synonyms)
at System.Data.Common.DbConnectionOptions..ctor(String connectionString, Dictionary`2 synonyms)
at System.Data.SqlClient.SqlConnectionString..ctor(String connectionString)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString, DbConnectionOptions previous)
at System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(DbConnectionPoolKey key, DbConnectionPoolGroupOptions poolOptions, DbConnectionOptions& userConnectionOptions)
at System.Data.SqlClient.SqlConnection.ConnectionString_Set(DbConnectionPoolKey key)
at System.Data.SqlClient.SqlConnection.set_ConnectionString(String value)
at Microsoft.EntityFrameworkCore.Storage.Internal.SqlServerConnection.CreateDbConnection()
at Microsoft.EntityFrameworkCore.Internal.LazyRef`1.get_Value()
at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration)
at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase(String targetMigration, String contextType)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabase.<>c__DisplayClass0_1.<.ctor>b__0()
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)
Keyword not supported: 'userid'.
System.ArgumentException:不支持关键字:“userid”。
位于System.Data.Common.DbConnectionOptions.ParseInternal(字典'2 parsetable,字符串connectionString,布尔构建链,字典'2同义词)
位于System.Data.Common.DbConnectionOptions..ctor(字符串连接字符串,字典`2同义词)
位于System.Data.SqlClient.SqlConnectionString..ctor(String connectionString)
位于System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString,DbConnectionOptions previous)
位于System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(DbConnectionPoolKey、DbConnectionPoolGroupOptions、DbConnectionOptions和userConnectionOptions)
位于System.Data.SqlClient.SqlConnection.ConnectionString_集合(DbConnectionPoolKey)
位于System.Data.SqlClient.SqlConnection.set_ConnectionString(字符串值)
在Microsoft.EntityFrameworkCore.Storage.Internal.SqlServerConnection.CreateDbConnection()中
在Microsoft.EntityFrameworkCore.Internal.LazyRef`1.get_Value()中
位于Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(字符串targetMigration)
位于Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase(String targetMigration,String contextType)
在Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabase.c__DisplayClass0_1.b__0()中
位于Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(操作)
不支持关键字:“userid”。
我做错什么了吗?这不是SQL Server的有效连接字符串
userid
应该是userid
,pwd
应该是Password
。比如说
Server=servername\instancename;Database=dbname;User Id=username;Password=password;
有关更多示例,请参见:
您引用的代码使用MsSQL。如果您希望使用mysql,则需要更改代码 在参考代码中,有一个名为
Startup.cs
的类
方法public void ConfigureServices(IServiceCollection services)
中有一行需要更改
目前,该行声明:
services.AddDbContext<ApplicationContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
密码在哪里?什么数据库?这不是有效的SQL Server连接字符串。您不能使用连接字符串,例如Oracle与SQL Server或MySQL的连接字符串。顺便说一句,您在此处发布的内容与示例中的连接字符串完全不同。调用堆栈显示您试图使用SQL Server提供程序执行迁移代码,而连接字符串显然指向另一个数据库。您是如何配置上下文和迁移的?谢谢!我得到了它!我正在使用旧应用程序库中的连接字符串!如果我不得不改用mysql,怎么做?在nuget软件包管理器中,许多软件包都要更新,但如果说packpackage restore失败,它就会失败。它也不允许我安装EntityFrameworkCore.MySql services.AddDbContext(options => options.UseMySQL(Configuration.GetConnectionString("DefaultConnection")));