Ahm*_*eed 5 .net c# mysql entity-framework entity-framework-6
因此,与 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 列的正确方法是什么?