在模型级别定义具有唯一键的实体

Define an Entity with a Unique Key at the Model Level

Using asp.net 5 entity framework 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/en/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();
    }
}