Defina una entidad con una clave única en el nivel de modelo

asp.net-core asp.net-core-mvc c# entity-framework-core

Pregunta

Usando el framework 7 de asp.net 5, me gustaría definir un campo con una restricción de clave única en el nivel del modelo. No estoy hablando de una clave principal. Creo que en EF 6 solía ser algo como esto:

    [Key]
    public int Id{ get; set; }

    [Index("IX_UserName", 1, IsUnique = true)]
    public string UserName {get; set;}

Respuesta aceptada

Puede configurarlo en el reemplazo de OnModelCreating . Consulte http://ef.readthedocs.org/en/latest/modeling/configuring.html#indexes

Ejemplo:

class MyContext : DbContext
{
    public DbSet<Blog> Blogs { get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Blog>()
            .Index(b => b.Url)
            .Unique();
    }
}



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué