2017년 6월 14일 수요일

C#, MVC : EntityFramework(DBContext) 로 테이블 생성시 Unique 컬럼 지정

일반적으로 유일키 값은 PK 로 지정하여 사용하고 EntityFramework 에선 Key 속성을 지정하여 설정한다.

하지만, PK 가 아닌 필드로 유일한 값을 가져야 할 필요가 있을수 있는데, DB 에선 Unique 를 설정하여 만들지만, EntityFramework 어떻게 할 까?


그냥 필드를 생성할때 "IsUnique" 를 "True" 로 설정하면 된다.


그럼 이렇게 자동으로 인덱스까지 생성해서 Unique 설정을 해준다.


만약 인덱스 명을 지정하고 싶으면, 인덱스 명을 같이 지정해 주면 지정한 인덱스 명으로 생성해 준다.

주의 할점은 인덱스를 생성할 경우 반드시 MaxLength 속성을 지정하여 필드 크기를 900 바이트 이하로 지정해야 인덱스가 생성되므로 주의 한다.

참고 : 테이블 '***' 에 있는 열 '***' 의 유형이 인덱스에서 키 열로 사용하기에 적합하지 않습니다