Search code examples
visual-studio-2012entity-framework-5edmxdevartef-database-first

ORACLE Database First EF4 to EF5 in VS2K12: error 0040: The Type XXX is not qualified with a namespace or alias


I have a VS2K12 solution with an ORACLE Database-First .edmx file connected using dotConnect 7.2.96.0. I have some uTests that run against the DB like a charm.

If I change the version of Entity Framework (from version 4 to 5) and updating the Project to Framework 4.5, the solution compiles but the uTests fails with the following errors whenever they try to get the context of the DB:

`System.Data.MetadataException was unhandled by user code
  HResult=-2146232007
  Message=Schema specified is not valid. Errors: 

AlertingData.ssdl(54,6) : error 0040: The Type NVARCHAR2 is not qualified with a namespace or alias. Only primitive types can be used without qualification.

AlertingData.ssdl(57,6) : error 0040: The Type TIMESTAMP WITH LOCAL TIME ZONE is not qualified with a namespace or alias. Only primitive types can be used without qualification.

Several of them. Any help will be welcomed.


Solution

  • Please set "ColumnTypeCasingConventionCompatibility = false" before the first usage of the context (e.g.: in a static constructor of a partial class) or in *.config:

    <configuration>
      <configSections>
        <section name="Devart.Data.Oracle.Entity" type="Devart.Data.Oracle.Entity.Configuration.OracleEntityProviderConfigurationSection,
          Devart.Data.Oracle.Entity, Version=7.2.96.0, Culture=neutral,
          PublicKeyToken=09af7300eec23701" />
      </configSections>
      <Devart.Data.Oracle.Entity xmlns="http://devart.com/schemas/Devart.Data.Oracle.Entity/1.0">
        <CodeFirstOptions ColumnTypeCasingConventionCompatibility="false"/>
      </Devart.Data.Oracle.Entity>
    </configuration>
    

    For more information, refer to http://www.devart.com/dotconnect/oracle/docs/?CodeFirstOptions.html.