Rumah  >  Artikel  >  pembangunan bahagian belakang  >  解决 ASP.NET Core MySql varchar 字符串截取实例教程

解决 ASP.NET Core MySql varchar 字符串截取实例教程

零下一度
零下一度asal
2017-06-23 16:13:002078semak imbas

ASP.NET Core 中使用 MySql,如果字段类型为varchar,不管设置多少长度,插入或更新数据的时候,会自动截断(截取 255 长度的字符)。

出现问题的原因,就是使用了MySql.Data.EntityFrameworkCore程序包(我使用的版本是7.0.7-m6),可能是其版本问题,升级版本的话,可能问题不会出现了。

解决方式:将 MySql 所有字段类型为varchar(字段长度大于 255)的字段,类型都改为text(可以不设长度,默认为 0)。

然后,EF Core 映射配置修改如下:

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

Atas ialah kandungan terperinci 解决 ASP.NET Core MySql varchar 字符串截取实例教程. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn