jueves, 14 de mayo de 2015

Entity Framework – Invalid object name <tablename>

Un error al parecer sencillo que me ha causado un dolor de cabeza.

Tengo una tabla tal que así en la base de datos:

image

Tengo un mapeo tal que así:

using System.Data.Entity.ModelConfiguration;

namespace ResNovae.Manager.DomainModel.Models.Mapping
{
   
public class Clientes_ModuloYesMap : EntityTypeConfiguration<Cliente_ModuloYes>
    {
       
public Clientes_ModuloYesMap()
        {
           
// Primary Key
           
this.HasKey(t => t.id_cliente_modulo);

           
// Table & Column Mappings
           
this.ToTable("Clientes_ModuloYes");

           
this.Property(t => t.id_cliente_modulo).HasColumnName("id_cliente_modulo");
           
this.Property(t => t.id_cliente).HasColumnName("id_cliente");
           
this.Property(t => t.id_modulo_yes_iso).HasColumnName("id_modulo_yes_iso");
        }
    }
}

Y cada vez que lanzo cualquier operación sobre la entidad me devuelve el error de que no encuentra la tabla…

NO LE DES VUELTAS, ES EL NOMBRE DEL MAPEO

Estoy tan acostumbrado a los mensajes crípticos de .NET o de (maldito mil veces) JavaScript, que no me creo cuando un mensaje de error dice exactamente cual es el error.

this.ToTable("Clientes_ModulosYes");

Me faltaba la maldita “s” de Modulos, no Modulo…

3 comentarios:

Yuyul dijo...

Estos son los errores más difíciles de detectar.

Juan Carlos Quijano Abad dijo...

La verdad es que en la mayoría de los casos es así, pero SQL me estaba indicando exactamente lo que pasaba, cosa a lo que el framework no me tiene acostumbrado.

chupacipotes dijo...
Este comentario ha sido eliminado por un administrador del blog.