EntityFramework 7 et contrainte unique (annotations de données ou fluide)

entity-framework-core unique-constraint

Question

Je cherchais sur le net un moyen de créer une contrainte unique en utilisant d'abord du code avec l'annotation de données ou l'API Fluid pour Entityframework 7. Est-ce que cela n'a pas encore été implémenté ou comment puis-je trouver aucune information à ce sujet? Des idées sur la façon de créer une telle contrainte en utilisant d'abord le code et EF7? Est-il possible à la fin de mon exécution OnModelCreating d'exécuter un script SQL pour créer "manuellement" la contrainte tout en attendant une méthode plus "solide"?

Br, Inx

Réponse acceptée

Vous pouvez utiliser des clés alternatives:

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Car>()
            .HasAlternateKey(c => c.LicensePlate);
    }

Ils sont appliqués via des index uniques via SQL Server, voir https://docs.microsoft.com/en-us/ef/core/modeling/alternate-keys


Réponse populaire

Je pense que vous pouvez le faire en utilisant l’API fluide, je n’ai pas encore trouvé de DataAnnotation.

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<EntityClass>(entity =>
        {
            entity.HasIndex(e => e.Index).IsUnique();
        });
    }


Related

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