实体框架主干json大小为65535

时间:2019-04-24 14:18:40

标签: mysql entity-framework asp.net-core

我的网站是使用ASP Net Core 2开发的,它通过Entity Framework 6.2.0连接到Ubuntu 16.04中的mysql数据库5.7.25。通过mysql.data.entityframeworkcore 6.10.6连接的数据库。

一列定义为json。定义为

的实体框架
entity.Property(e => e.PlotFeature)
                    .HasColumnName("plot_feature")
                    .HasColumnType("json");

然后,如果将数据发布并通过Entity Framework放置,则json字符串将中继为65535个字符。

我当前的解决方案是将列类型更改为中文字。

但是我仍然想使用json作为列类型。有什么方法可以改变Entity Framework中json的约束?

1 个答案:

答案 0 :(得分:1)

如果使用MySql.Data.EntityFrameworkCore nuget。然后,Json列被限制为65535,因为MySql.Data.EntityFrameworkCore(至少为v.0.15)将其映射到VARCHAR db类型,其限制为65k。

来自MySQL 5.7 Reference Manual

  

VARCHAR列中的值是可变长度的字符串。长度可以   指定为0到65,535之间的值。