npgsql / efcore.pg

Entity Framework Core provider for PostgreSQL
PostgreSQL License
1.54k stars 226 forks source link

NTS scaffolding still reports "Could not find method 'UseNetTopologySuite' " in v6.0.0 #2133

Closed GISerWYJ closed 2 years ago

GISerWYJ commented 2 years ago

NTS scaffolding still reports "Could not find method 'UseNetTopologySuite' " in v6.0.0. is this due to #1997 not merged to main?

alibarut commented 2 years ago

i get same issue when create db model with "dotnet ef dbcontext scaffold" command. All referanced libraries version 6.0.1


System.TypeInitializationException: The type initializer for 'Npgsql.EntityFrameworkCore.PostgreSQL.NetTopologySuite.Scaffolding.Internal.NpgsqlNetTopologySuiteCodeGeneratorPlugin' threw an exception.
 ---> System.InvalidOperationException: Could not find method 'UseNetTopologySuite' on type 'Microsoft.EntityFrameworkCore.NpgsqlNetTopologySuiteDbContextOptionsBuilderExtensions'
   at System.SharedTypeExtensions.GetRequiredRuntimeMethod(Type type, String name, Type[] parameters)
   at Npgsql.EntityFrameworkCore.PostgreSQL.NetTopologySuite.Scaffolding.Internal.NpgsqlNetTopologySuiteCodeGeneratorPlugin..cctor()
   --- End of inner exception stack trace ---
   at Npgsql.EntityFrameworkCore.PostgreSQL.NetTopologySuite.Scaffolding.Internal.NpgsqlNetTopologySuiteCodeGeneratorPlugin.GenerateProviderOptions()
   at Microsoft.EntityFrameworkCore.Scaffolding.ProviderCodeGenerator.GenerateProviderOptions()
   at Microsoft.EntityFrameworkCore.Scaffolding.IProviderConfigurationCodeGenerator.GenerateUseProvider(String connectionString)
   at Microsoft.EntityFrameworkCore.Scaffolding.Internal.CSharpDbContextGenerator.GenerateOnConfiguring(String connectionString, Boolean suppressConnectionStringWarning)
   at Microsoft.EntityFrameworkCore.Scaffolding.Internal.CSharpDbContextGenerator.GenerateClass(IModel model, String contextName, String connectionString, Boolean suppressConnectionStringWarning, Boolean suppressOnConfiguring)
   at Microsoft.EntityFrameworkCore.Scaffolding.Internal.CSharpDbContextGenerator.WriteCode(IModel model, String contextName, String connectionString, String contextNamespace, String modelNamespace, Boolean useDataAnnotations, Boolean useNullableReferenceTypes, Boolean suppressConnectionStringWarning, Boolean suppressOnConfiguring)
   at Microsoft.EntityFrameworkCore.Scaffolding.Internal.CSharpModelGenerator.GenerateModel(IModel model, ModelCodeGenerationOptions options)
   at Microsoft.EntityFrameworkCore.Scaffolding.Internal.ReverseEngineerScaffolder.ScaffoldModel(String connectionString, DatabaseModelFactoryOptions databaseOptions, ModelReverseEngineerOptions 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, String modelNamespace, String contextNamespace, Boolean useDataAnnotations, Boolean overwriteFiles, Boolean useDatabaseNames, Boolean suppressOnConfiguring, Boolean noPluralize)
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.ScaffoldContextImpl(String provider, String connectionString, String outputDir, String outputDbContextDir, String dbContextClassName, IEnumerable`1 schemaFilters, IEnumerable`1 tableFilters, String modelNamespace, String contextNamespace, Boolean useDataAnnotations, Boolean overwriteFiles, Boolean useDatabaseNames, Boolean suppressOnConfiguring, Boolean noPluarlize)
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.ScaffoldContext.<>c__DisplayClass0_0.<.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)
The type initializer for 'Npgsql.EntityFrameworkCore.PostgreSQL.NetTopologySuite.Scaffolding.Internal.NpgsqlNetTopologySuiteCodeGeneratorPlugin' threw an exception.
    <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="6.0.1" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="6.0.1" />
    <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL.NetTopologySuite" Version="6.0.1" />
roji commented 2 years ago

Yeah, my bad - #1997 should have been merged for 6.0.0. I merged it for 6.0.2.