首页 > 解决方案 > postgresql dotnet 核心连接字符串

问题描述

我正在尝试使用 colling 连接字符串连接到 postgresql。

dotnet ef dbcontext scaffold "Server=localhost; Port=xxxx; Database=i2ms; User Id=xxx; Password=xxx; SslMode=true" Npgsql.EntityFrameworkCore.PostgreSQL 

我收到以下错误。

System.ArgumentException: Couldn't set sslmode
Parameter name: sslmode ---> System.ArgumentException: Requested value 'true' was not found.
   at System.Enum.TryParseEnum(Type enumType, String value, Boolean ignoreCase, EnumResult& parseResult)
   at System.Enum.Parse(Type enumType, String value, Boolean ignoreCase)
   at Npgsql.NpgsqlConnectionStringBuilder.set_Item(String keyword, Object value) in /home/roji/projects/npgsql/src/Npgsql/NpgsqlConnectionStringBuilder.cs:line 164
   --- End of inner exception stack trace ---
   at Npgsql.NpgsqlConnectionStringBuilder.set_Item(String keyword, Object value) in /home/roji/projects/npgsql/src/Npgsql/NpgsqlConnectionStringBuilder.cs:line 170
   at System.Data.Common.DbConnectionStringBuilder.set_ConnectionString(String value)
   at Npgsql.NpgsqlConnection.GetPoolAndSettings() in /home/roji/projects/npgsql/src/Npgsql/NpgsqlConnection.cs:line 178
   at Npgsql.EntityFrameworkCore.PostgreSQL.Scaffolding.Internal.NpgsqlDatabaseModelFactory.Create(String connectionString, IEnumerable`1 tables, IEnumerable`1 schemas) in /home/roji/projects/EFCore.PG/src/EFCore.PG/Scaffolding/Internal/NpgsqlDatabaseMo
delFactory.cs:line 86
   at Microsoft.EntityFrameworkCore.Scaffolding.Internal.ReverseEngineerScaffolder.ScaffoldModel(String connectionString, IEnumerable`1 tables, IEnumerable`1 schemas, String namespace, String language, String contextDir, String contextName, ModelReverse
EngineerOptions modelOptions, ModelCodeGenerationOptions codeOptions)
   at Microsoft.EntityFrameworkCore.Design.Internal.DatabaseOperations.ScaffoldContext(String provider, String connectionString, String outputDir, String outputContextDir, String dbContextClassName, IEnumerable`1 schemas, IEnumerable`1 tables, Boolean u
seDataAnnotations, Boolean overwriteFiles, Boolean useDatabaseNames)
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.ScaffoldContextImpl(String provider, String connectionString, String outputDir, String outputDbContextDir, String dbContextClassName, IEnumerable`1 schemaFilters, IEnumerable`1 tableFilters, B
oolean useDataAnnotations, Boolean overwriteFiles, Boolean useDatabaseNames)
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.ScaffoldContext.<>c__DisplayClass0_1.<.ctor>b__0()
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.<>c__DisplayClass3_0`1.<Execute>b__0()
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)
Couldn't set sslmode
Parameter name: sslmode

我的数据库在配置中有 ssl 要求。

谢谢。

标签: databasepostgresql.net-coreef-database-first

解决方案


可能值为SSL ModeRequireDisablePreferTrust Server Certificate=true如果您有自签名证书,您可能想要使用。


推荐阅读