sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo configurar DbContext para que funcione con Oracle ODP.Net y EF CodeFirst?

Como escribió Nick en su respuesta, el problema está relacionado con las comillas y el caso de la consulta generada, pero no con los nombres de la tabla sino con el nombre del esquema:

SELECT * 
FROM "myce"."PERSONS" "Extent1"

Entonces, la solución es muy simple, solo poner en mayúsculas la identificación del usuario y el nombre del esquema:

modelBuilder.Entity<Person>().ToTable("PERSONS","MYCE");

En general, todo debe estar en mayúsculas:tablas, esquemas y nombres de campos. Pero es mejor anotar cada propiedad asignada con el atributo Columna en lugar de escribir en mayúsculas el nombre de la propiedad:

    [Column("FIRST_NAME")]
    public string FirstName { get; set; }

Así los nombres serán más fáciles de leer tanto en la base de datos como en las clases.