我已使用EF流利api将文本字段的MaxLength指定为4096,以限制其长度:

this.Property(p => p.MyText).HasMaxLength(4096).IsRequired();

但是由于某些原因,在SQL Server中,该列变为nvarchar (max)

仅供测试,如果我指定2048以确保更新SQL Server
this.Property(p => p.MyText).HasMaxLength(2048).IsRequired();

这样就可以了。

所以我的问题是为什么EF设置nvarchar (max)时EF设置sql MaxLength(4096)

最佳答案

我认为这是SQL Server的限制。 msdn

关于c# - 指定MaxLength时, Entity Framework 使用nvarchar(max),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32250220/

10-13 09:15