Failed to save string value to PostgreSQL enum column
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 25/100
Línea de trabajo
Start by checking how EF Core value conversions interact with Npgsql's PostgreSQL enum mapping; the report provides a converter, model configuration, SQL schema, and exception, but names no repository files or tests. Reproduce the save failure with the provided setup, then look for relevant provider tests or documentation. Done means establishing whether this configuration can save the value and documenting or fixing the behavior.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I have C# value object together with convert like this:
public record DomainType
{
public string Value { get; }
public static readonly DomainType DomainTypeValue1 = new("DomainTypeValue1");
public static readonly DomainType DomainTypeValue2 = new("DomainTypeValue2");
public static readonly DomainType DomainTypeValue3 = new("DomainTypeValue3");
private DomainType(string value)
{
Value = value;
}
public static DomainType From(string value)
{
return new DomainType(value);
}
public override string ToString()
{
return Value;
}
}
public class DomainTypeConverter() : ValueConverter<DomainType, string>(v => v.Value, v => DomainType.From(v));
I use this type in the entity:
[EntityTypeConfiguration<DomainEntityModelBuilder, DomainEntity>]
[Table("domain_entity", Schema = "my_schema")]
public class DomainEntity
{
public required Guid Id { get; init; }
public required DomainType EntityType { get; init; }
}
Model builder looks like this:
public class DomainEntityModelBuilder : IEntityTypeConfiguration<DomainEntity>
{
public void Configure(EntityTypeBuilder<DomainEntity> entity)
{
entity.Property(d => d.Id).ValueGeneratedNever();
entity
.Property(d => d.EntityType )
.HasColumnName("entity_type")
.HasConversion<DomainTypeConverter>()
.HasColumnType("my_schema.domain_type");
}
}
Sql to create enum and type looks like this:
CREATE TYPE my_schema.domain_type AS ENUM ('DomainTypeValue1', 'DomainTypeValue2', 'DomainTypeValue3');
CREATE TABLE my_schema.domain_entity
(
id UUID PRIMARY KEY NOT NULL,
entity_type my_schema.domain_type NOT NULL
)
When I tried to save DomainEntity I get error:
Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred while saving the entity changes. See the inner exception for details.
---> Npgsql.PostgresException (0x80004005): 42804: column "entity_type" is of type my_schema.domain_type but expression is of type text
Is it possible to save text value as a postgres enum type?
- Lenguaje dominante
- C#
- Estrellas
- 1.8k
- Forks
- 268
- Merge medio
- 2 h 35 min
- PR fusionados (30 d)
- 136
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de npgsql/efcore.pg
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
NTS: the M ordinate is dropped from geometry SQL literals and from geometries stored in JSONPosiblemente ocupada @Ahmed7991 la tomó hace 5 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
npgsql/efcore.pg#4093 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
`TimeSpan`/`Duration` component members: negative values are floored, and intervals computed in SQL are read field by fieldPosiblemente ocupada @jeremy-morren la tomó hace 11 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
Numeric storage parameters are formatted with the current culture, so migrations emit 0,01 instead of 0.01Posiblemente ocupada @Sorbitol la tomó hace 12 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 30/100
Los mantenedores suelen responder en 1 día
-
`Contains` on a JSON primitive collection compares JSON text, so `DateTime` and `TimeOnly` items never matchPosiblemente ocupada @Mr444-dev la tomó hace 7 días. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
npgsql/efcore.pg#4099 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de npgsql/efcore.pg
Issues similares
-
Issue-Bug Needs-Triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
JiaFeiMiao-K-Cat/DiscImageStudio#281 ·
Los mantenedores suelen responder en 1 día
-
area/access-management Frontend onboarding candidate :handshake:
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Altinn/altinn-auth#4941 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
aws/aws-sdk-net#4586 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Kryptos-FR/MarkView.Avalonia#269 · 1 reacción ·
Los mantenedores suelen responder en 1 día