none
Herencia de entidad modifica base de datos. RRS feed

  • Pregunta

  • Hola:

    Estoy haciendo un proyecto en MVC C# y al heredar de un modelo para añadirle campos para un ViewModel me modifica la base de datos. Y se supone que esos datos añadidos solamente son utilizados para la vista. ¿Es normal que me modifique la base de datos? He visto por internet proyectos que heredan del modelo y no modifican la base de datos.

    Un Saludo.

    sábado, 23 de febrero de 2019 18:42

Todas las respuestas

  • Buenas,

    No, no es normal que se modifique la base de datos.

    Lo que se me ocurre, es que en tu DbContext estés añadiendo un DataSet<TuClaseHeredada>, por lo que entity framework entiende que tiene que haber una segunda tabla con esos datos.

    ¿Puede ser tu caso?

    Si es tu caso, en el DbContext no hay que añadir el DataSet, ya que eso hace que se considere una tabla completa de la DB, usar el ViewModel donde lo necesites, pero no hay que añadirlo.

    Si no es el caso, por favor peganos el código de tus clases (solo las dos que hacen conflicto) y de tu DbContext para darte una respuesta más precisa.

    Atte


    Jorge Turrado Ferrero

    Mis repositorios en GitHub

    Mi Blog


    Ranking GitHub Euskadi
    Ranking GitHub Alava

    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    domingo, 24 de febrero de 2019 11:02
  • hola

    Es muy poca la info que aporta para poder dar una respuesta

    No se si estas usando entity framework y quizas aplique "migratios" que altere la db, o quizas esta este integrada al Visual Studio y se regenere en cada ejecucion

    pero son conjeturas porque no mencionas si usas entity framework y tampoco que base de datos se trata, imagine seria sql server

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    domingo, 24 de febrero de 2019 13:22
  • Hola:

    Muchas gracias por vuestras respuestas.

    En el context solamente tengo en los dbSet las tablas que tienen que estar en la base de datos.

      public DbSet<FacturaEDetalle> FacturasEDetalle { get; set; }

    Y el viewmodel hereda de FacturaEDetalle y en la tabla aparecen todos los campos que pongo en el viewmodel.

    Lo estoy haciendo en entity framework y a través de migraciones.

    Un Saludo.

    lunes, 25 de febrero de 2019 9:40