EntityFramework 7 und Unique constraint (Datenanmerkungen oder Fluid)

entity-framework-core unique-constraint

Frage

Ich habe im Internet nach einer Möglichkeit gesucht, eine eindeutige Einschränkung zu erzeugen, indem ich Code zuerst mit Datenannotation oder mit der Fluid API für Entityframework 7 benutze. Ist das noch nicht implementiert oder wie kann ich keine Informationen dazu finden? Irgendwelche Ideen, wie man eine solche Beschränkung mit Code zuerst und EF7 erstellt? Gibt es trotzdem am Ende meiner OnModelCreating ein SQL-Skript auszuführen, um "manuell" die Constraint zu erstellen, während ich auf einen "solideren" Weg warte?

Br, Inx

Akzeptierte Antwort

Sie können alternative Schlüssel verwenden:

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

Sie werden über eindeutige Indizes in SQL Server erzwungen, siehe https://docs.microsoft.com/en-us/ef/core/modeling/alternate-keys


Beliebte Antwort

Ich glaube, dass Sie dies mit der fließenden API tun können, ich habe jedoch noch keine DataAnnotation gefunden.

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


Related

Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow