Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 不支持关键字:';用户ID';错误_Asp.net Core_.net Core_Asp.net Core Mvc - Fatal编程技术网

Asp.net core 不支持关键字:';用户ID';错误

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

我已经克隆了这个源代码()。我正在使用mysql和我的连接字符串

  "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")));