MySql est utilisé dans ASP.NET Core. Si le type de champ est varchar
, quelle que soit la durée pendant laquelle il est défini, il sera automatiquement tronqué (255 caractères) lors de l'insertion ou de la mise à jour des données.
La raison du problème est que le package de programme MySql.Data.EntityFrameworkCore
est utilisé (la version que j'utilise est 7.0.7-m6
. Il peut s'agir d'un problème de version. Si vous mettez à niveau la version, le problème peut ne pas l'être. se produire.
Solution : Changez le type de tous les champs MySql avec varchar
(longueur du champ supérieure à 255) en text
(aucune longueur requise, la valeur par défaut est 0) .
Ensuite, la configuration du mappage EF Core est modifiée comme suit :
protected override void OnModelCreating(ModelBuilder modelBuilder) {var entity = modelBuilder.Entity<Entity>(); entity.Property(p => p.Body).HasColumnType("text"); //add HasColumnType("text")base.OnModelCreating(modelBuilder); }
Référence :
.Net Core Entity Framework MySQL - les champs de chaîne stockent uniquement 255 symboles
Le connecteur MySQL pour le noyau .Net tronque le texte à 255 caractères
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!