Définir une entité avec une clé unique au niveau du modèle

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

Question

En utilisant asp.net 5 entity framework 7, je voudrais définir un champ avec une contrainte de clé unique au niveau du modèle. Je ne parle pas d'une clé primaire. Je crois que dans EF 6, cela ressemblait à ceci:

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

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

Réponse acceptée

Vous pouvez configurer cela dans la substitution OnModelCreating . Voir http://ef.readthedocs.org/fr/latest/modeling/configuring.html#indexes

Exemple:

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

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


Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow