entity framwork oracle:在VARCHAR2(4000 CHAR)中插入超过2000个字符失败

时间:2016-01-18 17:14:53

标签: oracle entity-framework-6 odp.net

我们使用.NET Entity Framework 6.0和Oracle 12g。

在VARCHAR2(4000 CHAR)db列中插入超过2000个字符时,会出现Oracle错误。

textarea

如何解决此问题

2 个答案:

答案 0 :(得分:1)

在官方documentation中,提到限制是

  

最大尺寸:4000字节

但在现实生活中,双字节字符 2000

要解决此问题,您可以使用CLOB代替VARCHAR2

答案 1 :(得分:0)

这给我今天带来了一点头疼。为了在不触及DB的情况下解决它,我将以下内容添加到OnModelCreating()。

None

如果需要,您也可以逐个实体地执行以下操作,但对我来说,无论如何所有字符串都映射到VARCHAR2,所以我选择了前者:

modelBuilder.Properties<string>().Configure(p => p.HasColumnType("VARCHAR2"));