因此,与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:



我在做错什么吗?使用代码优先创建nvarchar列的正确方法是什么?

最佳答案

MySql没有NVARCHAR类型。有关替代解决方案,请咨询:
mysql equivalent data types

关于c# - 首先使用代码在MySQL中创建NVARCHAR列?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49777667/

10-13 01:39