Definire un'entità con una chiave univoca a livello di modello

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

Domanda

Usando il framework di entità 7 di asp.net 5, vorrei definire un campo con un vincolo di chiave univoco a livello di modello. Non sto parlando di una chiave primaria. Credo in EF 6 che fosse qualcosa del genere:

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

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

Risposta accettata

Puoi configurarlo OnModelCreating . Vedi http://ef.readthedocs.org/en/latest/modeling/configuring.html#indexes

Esempio:

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

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



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché