Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.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 PostgreSQL是否要添加Nvarchar类型?_Asp.net_Postgresql - Fatal编程技术网

Asp.net PostgreSQL是否要添加Nvarchar类型?

Asp.net PostgreSQL是否要添加Nvarchar类型?,asp.net,postgresql,Asp.net,Postgresql,有没有建议PostgreSQL添加Nvarchar类型 这是我得到的错误: Npgsql.PostgresException (0x80004005): 42704: type "nvarchar" does not exist at Npgsql.NpgsqlConnector.<ReadMessage>g__ReadMessageLong|194_0(NpgsqlConnector connector, Boolean async, DataRowLoa

有没有建议PostgreSQL添加Nvarchar类型

这是我得到的错误:

Npgsql.PostgresException (0x80004005): 42704: type "nvarchar" does not exist
   at Npgsql.NpgsqlConnector.<ReadMessage>g__ReadMessageLong|194_0(NpgsqlConnector connector, Boolean async, DataRowLoadingMode dataRowLoadingMode, Boolean readingNotifications, Boolean isReadingPrependedMessage)
   at Npgsql.NpgsqlDataReader.NextResult(Boolean async, Boolean isConsuming, CancellationToken cancellationToken)
   at Npgsql.NpgsqlDataReader.NextResult()
   at Npgsql.NpgsqlCommand.ExecuteReader(CommandBehavior behavior, Boolean async, CancellationToken cancellationToken)
   at Npgsql.NpgsqlCommand.ExecuteReader(CommandBehavior behavior, Boolean async, CancellationToken cancellationToken)
   at Npgsql.NpgsqlCommand.ExecuteNonQuery(Boolean async, CancellationToken cancellationToken)
   at Npgsql.NpgsqlCommand.ExecuteNonQuery()
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQuery(RelationalCommandParameterObject parameterObject)
   at Microsoft.EntityFrameworkCore.Migrations.MigrationCommand.ExecuteNonQuery(IRelationalConnection connection, IReadOnlyDictionary`2 parameterValues)
   at Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationCommandExecutor.ExecuteNonQuery(IEnumerable`1 migrationCommands, IRelationalConnection connection)
   at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration)
   at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase(String targetMigration, String connectionString, String contextType)
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabaseImpl(String targetMigration, String connectionString, String contextType)
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabase.<>c__DisplayClass0_0.<.ctor>b__0()
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)
  Exception data:
    Severity: ERROR
    SqlState: 42704
    MessageText: type "nvarchar" does not exist
    Position: 94
    File: d:\pginstaller_13.auto\postgres.windows-x64\src\backend\parser\parse_type.c
    Line: 274
    Routine: typenameType
42704: type "nvarchar" does not exist
Npgsql.postgresception(0x80004005):42704:类型“nvarchar”不存在
在Npgsql.NpgsqlConnector.g__ReadMessageLong | 194_0(NpgsqlConnector连接器、布尔异步、DataRowLoadingMode DataRowLoadingMode、布尔读取通知、布尔isReadingPrependedMessage)
位于Npgsql.NpgsqlDataReader.NextResult(布尔异步、布尔isConsuming、CancellationToken CancellationToken)
在Npgsql.NpgsqlDataReader.NextResult()中
在Npgsql.NpgsqlCommand.ExecuteReader(CommandBehavior行为、布尔异步、CancellationToken CancellationToken)
在Npgsql.NpgsqlCommand.ExecuteReader(CommandBehavior行为、布尔异步、CancellationToken CancellationToken)
在Npgsql.NpgsqlCommand.ExecuteOnQuery(布尔异步,CancellationToken CancellationToken)
在Npgsql.NpgsqlCommand.ExecuteNonQuery()处
位于Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteOnQuery(RelationalCommandParameterObject parameterObject)
位于Microsoft.EntityFrameworkCore.Migrations.MigrationCommand.ExecuteOnQuery(IRelationalConnection连接,iRelationalYDictionary`2参数值)
位于Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationCommandExecutor.ExecutionQuery(IEnumerable`1 migrationCommands,IRelationalConnection)
位于Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(字符串targetMigration)
位于Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase(字符串targetMigration、字符串connectionString、字符串contextType)
位于Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabaseImpl(字符串targetMigration、字符串connectionString、字符串contextType)
在Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabase.c__DisplayClass0_0.b_0()中
位于Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(操作)
异常数据:
严重性:错误
SqlState:42704
MessageText:类型“nvarchar”不存在
职位:94
文件:d:\pginstaller\u 13.auto\postgres.windows-x64\src\backend\parser\parse\u type.c
电话:274
例程:typenameType
42704:类型“nvarchar”不存在
谢谢。

“国家”字符串数据类型是遥远的过去留下的痕迹,当时人们仍然使用单字节编码,如ISO 8859-1或Windows-1252


现在我们使用UNICODE编码存储数据,例如PostgreSQL,UTF-8。由于可以以这种方式存储任何字符,因此不需要特殊的数据类型。

当上次迁移(更新数据库命令使用的)不是用于PostgreSQL连接时,我发生了此错误。
您可以使用
添加迁移
创建新迁移,然后再次尝试
更新数据库

使用
字符变化
尝试。还将代码与error@AkhileshMishra非常感谢