Saltar al contenido

Entity Framework lanza una excepción: nombre de objeto no válido ‘dbo.BaseCs’

Al fin luego de tanto batallar hemos hallado la solución de este atasco que tantos usuarios de nuestro sitio han presentado. Si quieres aportar algún detalle puedes aportar tu conocimiento.

Solución:

Detalles de la excepción: System.Data.SqlClient.SqlException: nombre de objeto no válido ‘dbo.BaseCs’

Este error significa que EF está traduciendo su LINQ en una instrucción sql que usa un objeto (probablemente una tabla) llamado dbo.BaseCsque no existe en la base de datos.

Verifique su base de datos y verifique si esa tabla existe o si debe usar un nombre de tabla diferente. Además, si pudiera publicar un enlace al tutorial que está siguiendo, sería útil seguir lo que está haciendo.

Lo más probable es que haya una discrepancia entre el nombre de la clase del modelo y el nombre de la tabla, como se menciona en ‘a la deriva’. Haga que sean iguales o use el ejemplo a continuación para cuando desee mantener el nombre de la clase del modelo diferente del nombre de la tabla (que hice para OAuthMembership). Tenga en cuenta que el nombre de la clase del modelo es OAuthMembership mientras que el nombre de la tabla es webpages_OAuthMembership.

O proporciona una mesa attribute al modelo:

[Table("webpages_OAuthMembership")]
public class OAuthMembership

O proporcione la asignación anulando DBContext OnModelCreating:

class webpages_OAuthMembershipEntities : DbContext

    protected override void OnModelCreating( DbModelBuilder modelBuilder )
    
        var config = modelBuilder.Entity();
        config.ToTable( "webpages_OAuthMembership" );            
    
    public DbSet OAuthMemberships  get; set;         

Si está proporcionando asignaciones como esta:

 protected override void OnModelCreating(DbModelBuilder modelBuilder)
    
        modelBuilder.Configurations.Add(new ClassificationMap());
        modelBuilder.Configurations.Add(new CompanyMap());
        modelBuilder.Configurations.Add(new GroupMap());
        ....  
    

Recuerde agregar el mapa para BaseCs.

No obtendrá un error de compilación si falta. Pero obtendrá un error de tiempo de ejecución cuando use la entidad.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *