我正在使用Entity Framework Core和npgsql postgresql来实现Entity Framework Core。
我的问题是,使用迁移,如何标记类属性以生成JSONB列类型?
例如:
public class MyTableClass
{
public int Id { get; set; }
// My JSONB column
public string Data { get; set; }
}
提前致谢。
答案 0 :(得分:10)
基于H. Herzl评论:
我的最终解决方案是这样的:
public class MyTableClass
{
public int Id { get; set; }
[Column(TypeName = "jsonb")]
public string Data { get; set; }
}
迁移产生了这个:
Data = table.Column<string>(type: "jsonb", nullable: true),
使用迁移更新数据库时,使用jsonb类型正确创建了数据列。
谢谢H. Herzl!
答案 1 :(得分:2)
按照@bruno.almeida 的建议使用 string
是一个不错的解决方案,但无法查询。
使用其他方法:
JsonDocument
或 JsonElement)JsonDocument
是我的最爱,因为它可以被查询,而且设置灵活且快速,例如:
public JsonDocument Customer { get; set; }