Maison  >  Article  >  développement back-end  >  Résolution d'un exemple d'interception de chaîne varchar ASP.NET Core MySql

Résolution d'un exemple d'interception de chaîne varchar ASP.NET Core MySql

零下一度
零下一度original
2017-06-23 16:13:002027parcourir

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn