Estoy usando Entity Framework Core con npgsql postgresql para Entity Framework Core.
Mi pregunta es, usando migraciones, ¿cómo marco una propiedad de clase para generar un tipo de columna JSONB?
Por ejemplo:
public class MyTableClass { public int Id { get; set; } // My JSONB column public string Data { get; set; } }Gracias por adelantado.
Basado en el comentario de H. Herzl:
Mi solución final fue algo como esto:
public class MyTableClass { public int Id { get; set; } [Column(TypeName = "jsonb")] public string Data { get; set; } }Las migraciones generaron esto:
Data = table.Column<string>(type: "jsonb", nullable: true),Al actualizar la base de datos con migraciones, la columna Datos se creó correctamente con tipo jsonb.
¡Gracias H. Herzl!
usar string como lo sugirió @bruno.almeida es una buena solución pero no se pudo consultar .
enfoques adicionales son utilizar:
JsonDocument o JsonElement) JsonDocument es mi favorito ya que se puede consultar, es flexible y rápido de configurar, por ejemplo:
public JsonDocument Customer { get; set; }más detalles en: https://www.npgsql.org/efcore/mapping/json.html