EF6:ORA-00910:其数据类型的指定长度太长

时间:2016-11-08 18:48:00

标签: c# asp.net oracle entity-framework entity-framework-6

我在Oracle 12c上使用EF6 Code First。

我有一个需要数据最大长度的属性:

user.Property(u => u.PasswordHash).HasColumnType("NVARCHAR2").IsMaxLength();

PASSWORDHASH = c.String(maxLength: 32767, storeType: "nvarchar2")

当我尝试迁移时,我得到:

ORA-00910: specified length too long for its datatype

我的数据库中启用了扩展数据类型,我可以使用脚本成功创建表。

1 个答案:

答案 0 :(得分:0)

我不确定你的c#代码下面是什么,但是如果这与普通的SQL限制为4000,则32767是PL / SQL的最大长度。所以我认为你应该将它改为4000.
这个限制实际上是4000字节,所以如果插入2字节字符,它就会少于4000个字符。