EntityFramework 7和唯一約束(數據註釋或流體)


我一直在網上尋找一種方法來創建一個獨特的約束,首先使用代碼使用數據註釋或使用Fluid API for Entityframework 7 ..這是否尚未實現或者我怎麼找不到任何有關此信息?有關如何使用代碼和EF7創建此類約束的任何想法?無論如何,在我的OnModelCreating結束時執行一個SQL腳本來“手動”創建約束,而我正在等待更“堅實”的方式嗎?

Br,Inx

一般承認的答案

您可以使用備用鍵:

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

它們是通過唯一索引強制執行的SQL Server,請參閱https://docs.microsoft.com/en-us/ef/core/modeling/alternate-keys


熱門答案

我相信你可以使用流暢的API來做到這一點,但我還沒有找到DataAnnotation。

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




許可下: CC-BY-SA
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因