Определить сущность с уникальным ключом на уровне модели

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

Вопрос

Используя инфраструктуру сущности asp.net 5, я хотел бы определить поле с уникальным ограничением ключа на уровне модели. Я не говорю о первичном ключе. Я считаю, что в EF 6 это было примерно так:

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

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

Принятый ответ

Вы можете настроить это в переопределении OnModelCreating . См. Http://ef.readthedocs.org/ru/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();
    }
}


Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему