Saltar al contenido

El código de Entity Framework primero crea la columna “discriminador”

Solución:

los Discriminator La columna se usa y se requiere en Tabla por jerarquía escenarios de herencia. Si por ejemplo tienes un modelo como este …

public abstract class BaseEntity
{
    public int Id { get; set; }
    //...
}

public class Post : BaseEntity
{
    //...
}

public class OtherEntity : BaseEntity
{
    //...
}

… y hacer el BaseEntity parte del modelo, por ejemplo, agregando un DbSet<BaseEntity> a su contexto derivado, Entity Framework asignará esta jerarquía de clases de forma predeterminada en una sola tabla, pero introducirá una columna especial: la Discriminator – distinguir entre los diferentes tipos (Post o OtherEntity) almacenados en esta tabla. Esta columna se llena con el nombre del tipo (nuevamente Post o OtherEntity).

Puede detener la creación de la columna agregando el [NotMapped] anotación de datos a los modelos que están heredando de su clase base. Esto le dirá a EF que no agregue su clase a migraciones futuras, eliminando la columna discriminadora.

public class BaseClass
{
}
[NotMapped]
public class InheritingClass : BaseClass 
{
}
¡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 *