Closed sumit-sood-pluralsight closed 6 days ago
https://github.com/npgsql/efcore.pg/issues/3172#issue-2300558283
I think my problem is related to this issue.
Have you found a way to fix it?
same issue here when migrating from .net 6 to .net 8
https://github.com/dotnet/efcore/issues/33913 It's a bug already reported, we're waiting for the resolution
I have a similar problem when migrating from .net7 to .net 8
I've got a similar exception when updated the version of Npgsql.EntityFrameworkCore.PostgreSQL to 8.0.4 from 6.0.7. I rolled back to 8.0.0 And added to my dbContext
var dataSource = new NpgsqlDataSourceBuilder(options.ConnectionString)
.EnableDynamicJson()
.Build();
serviceCollection.AddDbContext<MyDbContext>(dbContextOptions => dbContextOptions.UseNpgsql(dataSource));
For 8.0.6 with EnableDynamicJson I've got
System.ArgumentException: No mapping exists from object type System.Linq.Enumerable+SelectListIterator2[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Int64, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]] to a known managed provider native type. at Microsoft.Data.SqlClient.MetaType.GetMetaTypeFromValue(Type dataType, Object value, Boolean inferLen, Boolean streamAllowed) at Microsoft.Data.SqlClient.MetaType.GetMetaTypeFromType(Type dataType) at Microsoft.Data.SqlClient.SqlParameter.GetMetaTypeOnly() at Microsoft.Data.SqlClient.SqlParameter.get_DbType() at EFCore.BulkExtensions.SqlAdapters.SqlDefaultDialect.ReloadSqlParameters(DbContext context, List
1 sqlParameters)
at EFCore.BulkExtensions.BatchUtil.ReloadSqlParameters(DbContext context, List`1 sqlParameters)
at EFCore.BulkExtensions.BatchUtil.GetSqlDelete(IQueryable query, DbContext context)
at EFCore.BulkExtensions.IQueryableBatchExtensions.GetBatchDeleteArguments(IQueryable query)
at EFCore.BulkExtensions.IQueryableBatchExtensions.BatchDeleteAsync(IQueryable query, CancellationToken cancellationToken)
Updated: I have all the errors disappeared and on the latest version (8.0.4) . When I stopped using obsolete method BatchDelete from EFCore.BulkExtensions and replaced it with ExecuteDelete. But enabling EnableDynamicJson is also necessary
Everyone, from the above I'm not sure if a problem still exists, and am missing a minimal, runnable repro I could check. If you still have an issue with the latest 8.0.x, please post back here with such a repro and I'll revisit.
Hi, I am using these packages in my .Net Core 8project :
My DBContext looks like this :
services.AddDbContext<MyDbContext>( options => options.UseNpgsql(connectionStrings.ReadOnlyConnectionString) .UseSnakeCaseNamingConvention() .UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking)
When I am trying to map the jsonb[] (jsonb Array) using OwnsMany it's throwing error. I have added the mapping like this in the OnModelCreating :
builder.Entity<SomeEntity>() .OwnsMany(auth => auth.AllContent, d => { d.ToJson("all_content"); });
I have defined my POCO class as :
When I am trying to access my Entity I am getting error : "Reading as 'System.String' is not supported for fields having DataTypeName 'jsonb[]'\nType 'String' required dynamic JSON serialization, which requires an explicit opt-in; call 'EnableDynamicJson' on 'NpgsqlDataSourceBuilder' or NpgsqlConnection.GlobalTypeMapper (see https://www.npgsql.org/doc/types/json.html and the 8.0 release notes for more details). Alternatively, if you meant to use Newtonsoft JSON.NET instead of System.Text.Json, call UseJsonNet() instead."
Is jsob[] supported currently if yes Please suggest how to access jsonb[] or am I missing something. Thanks in Advance.