Search code examples
c#postgresqlentity-framework-corenpgsql

Entity Framework Core jsonb column type


I am using Entity Framework Core with npgsql postgresql for Entity Framework Core.

My question is, using migrations, how do I mark a class property to generate a JSONB column type?

For example:

public class MyTableClass
{
    public int Id { get; set; }

    // My JSONB column
    public string Data { get; set; }
}

Thanks in advance.


Solution

  • Based on H. Herzl comment:

    My final solution was something like this:

    public class MyTableClass
    {
        public int Id { get; set; }
    
        [Column(TypeName = "jsonb")]
        public string Data { get; set; }
    }
    

    Migrations generated this:

    Data = table.Column<string>(type: "jsonb", nullable: true),
    

    When updated the database with migrations, the Data column was created correctly with jsonb type.