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