モデルレベルで一意のキーを持つエンティティを定義する

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

質問

asp.net 5エンティティフレームワーク7を使用して、モデルレベルで一意のキー制約を持つフィールドを定義したいと思います。私は主キーについて話しているわけではありません。私はEF 6でこれはこういうものだったと信じています:

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

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

受け入れられた回答

OnModelCreatingオーバーライドでこれを設定できます。 http://ef.readthedocs.org/ja/latest/modeling/configuring.html#indexesを参照してください

例:

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

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


Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ