ASP.NET Core 中使用 MySql,如果字段类型为varchar
,不管设置多少长度,插入或更新数据的时候,会自动截断(截取 255 长度的字符)。
出现问题的原因,就是使用了MySql.Data.EntityFrameworkCore
程序包(我使用的版本是7.0.7-m6
),可能是其版本问题,升级版本的话,可能问题不会出现了。
解决方式:将 MySql 所有字段类型为varchar
(字段长度大于 255)的字段,类型都改为text
(可以不设长度,默认为 0)。
然后,EF Core 映射配置修改如下:
复制代码1
2
3
4
5
protected override void OnModelCreating(ModelBuilder modelBuilder)
{var entity = modelBuilder.Entity<Entity>();
entity.Property(p => p.Body).HasColumnType("text"); //add HasColumnType("text")base.OnModelCreating(modelBuilder);
}
登录后复制
参考资料:
.Net Core Entity Framework MySQL - string fields store 255 symbols only
MySql connector for .Net core truncates text to 255 characters
以上就是解决 ASP.NET Core MySql varchar 字符串截取实例教程的详细内容,更多请关注靠谱客其它相关文章!
最后
以上就是简单黑米最近收集整理的关于解决 ASP.NET Core MySql varchar 字符串截取实例教程的全部内容,更多相关解决内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复