首先使用代码在mysql中创建nvarchar列?

93ze6v8z  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(375)

因此,与sql server不同,在mysql中,以下属性创建一个类型为 LONGTEXT :

public string Name { get; set; }

我想要一个 NVARCHAR(255) 列,所以我尝试了以下方法:

//[DataType("NVARCHAR"), StringLength(255)]     // creates a varchar(255) column.
[DataType("NVARCHAR"), MaxLength(255)]          // creates a varchar(255) column.
public string Name { get; set; }

我还使用fluent api尝试了以下操作:

modelBuilder.Entity<MyEntity>()
    .Property(p => p.Name)
    .HasColumnType("NVARCHAR")
    .HasMaxLength(255);             // still creates a varchar(255) column.

…和:

modelBuilder.Entity<MyEntity>()
    .Property(p => p.Name)
    .HasColumnType("NVARCHAR(255)");

这会导致 InvalidOperationException 显示以下消息:
在mysql提供程序清单中找不到存储类型“nvarchar(255)”
我做错什么了吗?首先使用代码创建nvarchar列的正确方法是什么?

gcuhipw9

gcuhipw91#

mysql没有 NVARCHAR 类型。其他解决方案请参考:mysql等效数据类型

相关问题