모델 수준에서 고유 키를 사용하여 엔터티 정의

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/ko/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
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.