Io uso la libreria Npgsql.EntityFrameworkCore.PostgreSQL. Come inserire / aggiornare la colonna di ltree nella tabella PostgreSQL tramite Entity Framework Core? Tabella del database:
CREATE TABLE Entity (path ltree);
OnModelCreating:
modelBuilder.HasPostgresExtension("ltree");
...
entity.Property(e => e.Path).HasColumnName("path").HasColumnType("ltree");
Entità:
public string Path { get; set; }
E sull'inserto ho l'errore:
Npgsql.PostgresException: 42804: colonna "percorso" è di tipo ltree ma espressione è di tipo testo
Npgsql attualmente non supporta il tipo di ltree, dal momento che PostgreSQL non fornisce funzioni di input / output binari per esso (e Npgsql è solo binario per impostazione predefinita). Il problema rilevante è https://github.com/npgsql/npgsql/issues/699 .
È ancora possibile leggere e scrivere ltree, come altri tipi binari non supportati, in modalità testo quando si utilizza l'API ADO.NET - vedere le Domande frequenti su Npgsql su come eseguire questa operazione. Tuttavia, sembra che tu stia tentando di utilizzare EF Core, dove questo non è possibile.