dotnet-db-samples icon indicating copy to clipboard operation
dotnet-db-samples copied to clipboard

EF Core 8.0: ORA-00932 - expected - got CLOB

Open arthur-liberman opened this issue 1 year ago • 3 comments

Hi, I think this issue might be related to an earlier issue #296 I opened, or maybe not. It's very easy to reproduce. Consider this query (not very imaginative, but it reproduces) var res = await dbContext.Categories.Where(c=>c.Name.Contains(c.SubName)).ToListAsync();

  • Please note that in case of NVARCHAR2 and NCLOB combination there is the same problem.
public class Category
{
    public int CatId { get; set; }
    public string Name { get; set; }
    public string SubName { get; set; }
    public string Description { get; set; }
}
public class CategoryConfiguration : IEntityTypeConfiguration<Category>
{
    public void Configure(EntityTypeBuilder<Category> builder)
    {
        builder.ToTable("Category");
        builder.HasKey(o => o.CatId);
        builder.Property(t => t.CatId).ValueGeneratedOnAdd();
        builder.Property(t => t.Name).HasMaxLength(int.MaxValue); // CLOB
        builder.Property(t => t.SubName).HasMaxLength(256);       // VARCHAR2(256)
    }
}

arthur-liberman avatar Jun 26 '24 15:06 arthur-liberman

Did this problem start occurring with EF Core 8.0.2?

If so, the problem could be the same as #362, which is a result of EF Core base bug: https://github.com/dotnet/efcore/issues/33218

alexkeh avatar Jun 26 '24 16:06 alexkeh

It's not the same, I applied AppContext.SetSwitch("Microsoft.EntityFrameworkCore.Issue32325", true); and it solved another issue where strings were concatenated, but this issue remains. Please try to reproduce, you should see that the workaround has no effect.

arthur-liberman avatar Jun 26 '24 19:06 arthur-liberman

I was able to reproduce your error. I have filed a bug (36790369) to have the Oracle .NET dev team investigate. Thanks for reporting the issue!

alexkeh avatar Jul 01 '24 08:07 alexkeh