Pregunta

Me gustaría usar un enumio como clave externa en una aplicación de código.Dado que los enumeres se almacenan como int, pensé que podría usar el atributo [Lista forquero] en la propiedad enumio, pero arroja esta excepción:

The types of all properties in the Dependent Role of a referential constraint 
must be the same as the corresponding property types in the Principal Role

Aquí hay un ejemplo de lo que estoy tratando de hacer:

public enum UserType
{
    Administrator = 1,
    Member = 2
}

public class User
{
    public int UserId { get; set; }
    public string Login { get; set; }

    [ForeignKey("TypeDetails")]
    public UserType Type { get; set;}

    public virtual MasterType TypeDetails { get; set; }
}

public class MasterType
{
    public int MasterTypeId { get; set; }
    public string Description { get; set; }
    ...
}

¿Es posible hacer esto o algo similar a través de la API fluida o las migraciones?

gracias

¿Fue útil?

Solución

Aquí hay una que hice antes: https://www.nuget.org/Paquetes / EF-enum-to-lookup

Es un paquete de NUGET que proporciona un método que puede llamar en su generador de generación (inicializador y / o migraciones) que construyerá automáticamente las tablas de búsqueda y agregará FKS donde se usa el Enum. Información de uso .

Disfruta :-) Y házmelo saber si funciona para usted (o cualquier otra persona por ello!)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top