You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle.EntityFrameworkCore 5.12.3 CLOB字段返回null的读取问题咨询

Oracle EF Core读取CLOB字段返回null解决方案
  • 首先确认实体类中对应CLOB字段的属性类型为string,不要使用byte[]等其他类型,无特殊需求不要给该属性加[Required]注解,避免空值约束导致赋值异常。
  • 移除Fluent API配置中的.IsUnicode(false)配置项,该配置会强制映射到VARCHAR2类型,与CLOB的存储格式冲突,正确Fluent API配置如下:
modelBuilder.Entity<Email>()
            .Property(a => a.Body)
            .HasColumnName("BODY")
            .HasColumnType("CLOB");
  • 如果你使用数据注解配置,保留原有[Column("BODY", TypeName = "CLOB")]即可,无需额外添加其他属性。
  • 确认你的Oracle EF Core Provider为最新稳定版,旧版本默认开启大字段延迟加载,可在上下文配置中添加兼容性配置适配你使用的数据库版本:
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
    // 数据库版本为12c及以上则替换为"12c"
    optionsBuilder.UseOracle("你的数据库连接字符串", b => b.UseOracleSQLCompatibility("11g"));
}
  • 如果你查询时使用了Select投影,确认投影逻辑中包含了CLOB对应的属性,避免字段被主动忽略。

操作完成后重新执行查询即可正常读取CLOB字段内容。

内容的提问来源于stack exchange,提问作者David Kiff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 00:57:02