oracle-databaseentity-frameworklinq-to-entitiesora-00932

LINQ2Entities and Oracle: comparing on a String/nclob


I have an Entity called Product in Entity Framework which has a name field, which is of type String. This gets transformed to a NCLOB column in Oracle, by the Oracle Software I installed for Visual Studio. I am able to insert a few Products.

Now I want to do for example a LINQ-query where I select a single Entity based on its name:

Product p1 = ctx.ProductSet.Single(p => p.Name == "FIETS");

This results in an exception which tells me that error ORA-00932 (inconsistent datatypes). What can I do to resolve this?


Solution

  • You should harass Oracle about it. This should work. As long as it doesn't, their Entity Provider is broken.

    Apart from this showing how broken their EDM support is:
    Is it really required to have a name field of type nclob? Wouldn't a nvarchar be sufficient?